https://github.com/nekroze/chell
Now you're shelling with portals!
https://github.com/nekroze/chell
interactive shell tmux tool
Last synced: about 1 month ago
JSON representation
Now you're shelling with portals!
- Host: GitHub
- URL: https://github.com/nekroze/chell
- Owner: Nekroze
- License: gpl-3.0
- Created: 2019-02-17T09:59:45.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-21T22:07:24.000Z (over 7 years ago)
- Last Synced: 2025-07-24T16:23:57.611Z (11 months ago)
- Topics: interactive, shell, tmux, tool
- Language: Go
- Size: 48.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# chell
An interactive shell with a POSIX like syntax, `chell` will monitor commands executed and move them into a new terminal split if they take too long to allow continued execution of commands. Additionally `chell` provides exit reports for failed commands and suggestions on alternate commands or switches in various circumstances.
## Install
At present you will require a checkout of the source code, from the root of which you may run either of the following two commands to build and run `chell` either locally or in docker respectively:
```bash
make run
```
```bash
make docker
```
### Runtime Requirements
[Tmux][1] is required to run `chell` in its ideal mode of operation where to provide the terminal multiplexing functionality behind `chell` and its portals.
## Portals?
Yes portals! And by that I mean that long running commands are popped into their own terminal split and a new `chell` gets spawned for continued flow of execution.
## Exit Reports?
Most shells by default silently record the exit code of command that are executed however this is not typically displayed unless the user sets up a custom prompt. When using `chell` this information is surfaced at the end of command failure via an exit report along with other information such as how long the execution took.
## POSIX?
That is the plan, although the approach will be incremental.
### Roadmap
Current Status: Proof of Concept
- [x] Command execution
- [x] Multiple commands via `;` delimiter
- [x] Environment variable interpolation
- [ ] Pipes
- [ ] Functions
- [ ] Builtins
- [ ] Expressions
- [ ] Conditionals
- [ ] Loops
- [ ] Comments
- [ ] Functions
- [ ] Aliases
- [ ] Shell options (eg. `set -x`)