Show HN: Rust+Svelte=Terminal
https://github.com/iondodon/manter
Demo:
https://youtu.be/ZjAXMMMoKGg
This project aims to create a terminal with functionalities that improve the experience of using terminals. Examples of useful functionalities would be autocomplete suggestion, showing the current branch of a project, prepared scripts that can be reused, and others. You can come up with your ideas. The project uses technologies such as Svelte on the front-end, which offers flexibility regarding the implementation of the interface. On the back-end side, the most important part is the PTY. All the back end is implemented in Rust. The basic framework of the project is Tauri.
At the moment the terminal has suggestions only for some commands (cd, ls). To support more commands it is needed to add them in the Manter's "library" located at src/cli/library/library.ts. It is possible to have custom script based suggestions. For example if we write in the terminal “git checkout” and after we press Space, a dropdown will appear with all available branches.
A good analogy to understand the purpose of this project is the following - traditional terminals are like simple code editors while this terminal is like an IDE.
Anyone is welcome to contribute to this project with and ideas. Imagine the terminal you would like to use. Feel free to open any issue with suggestions and bugs.
13 comments
[ 3.1 ms ] story [ 45.2 ms ] threadHow performant is this?
Last time I checked Tauri's performance was not close to what you would get from native GUIs (mostly because it needs an entire webview). This is especially relevant for terminal like things as I any delay in keyboard driven apps feel jarring.
So I don't think it will be better in performance...
None of this are the terminals job. Shells and their tooling are doing this already very well. So what is this project adding new to the space?
Rust doesn't have LTS versions. Regardless, the project should mention a specific version for Rust and Node, just to be safe.
Besides that, PurpleRamen is right. None of this seems like a terminal's job. Some of the items you mention (autocomplete and current branch) are things you can do today with bash/zsh/fish and some plug-ins. I'm not sure what you mean by "prepared scripts", and why they can't be standard scripts or functions.
There's also https://www.warp.dev/ in this space. I don't use it - it doesn't support tmux yet - but it might be worth exploring.
I don't like that it requires my password, apparently because it uses "su" -- no other terminal does this! This stopped me in my tracks, I'm not going to to feel comfortable putting my password in when not expected.