Kumander: A Command-Line Tool for Managing Terminal Commands
If you work heavily with the command line, you know the pain of managing complex commands. Kumander is a tool I built to solve this problem by letting you store and execute commands from markdown files.
What It Does
Kumander turns this:
aws s3 sync . s3://my-bucket/path \
--exclude "*.git/*" \
--exclude "node_modules/*" \
--exclude "vendor/*" \
--delete
Into this:
km aws sync-my-bucket
The commands live in markdown files that are easy to read, edit, and share with your team. No more digging through shell history or maintaining scattered alias files.
Quick Start
- Install Kumander
# Install
curl -o- https://raw.githubusercontent.com/christopheredrian/kumander/main/install.sh | bash
- Open the commands directory
# Open the commands directory
code ~/.kumander/commands
- Create a markdown file with the command you want to store
# AWS Commands
## sync-my-bucket
Sync local directory to S3 bucket excluding development files
```bash
aws s3 sync . s3://my-bucket/path \
--exclude "*.git/*" \
--exclude "node_modules/*" \
--exclude "vendor/*" \
--delete
```
- Use it
# km <filename> <command>
km aws sync-my-bucket
Why I Built This
I found myself repeatedly:
- Searching through shell history for complex commands
- Copying commands from various documentation and README files
- Sharing commands with team members through chat or docs
- Maintaining unwieldy alias files
Kumander solves these problems by providing a simple way to organize and execute commands while keeping them documented and shareable.
Key Features
- Store commands in markdown files (which double as documentation)
- Execute commands with a simple syntax:
km [file] [command]
- Bash and Zsh completions for faster command lookup
- Customizable command directory for team-specific setups
- Simple installation process
Contributing
The code is open source under the GPL license. If you have ideas for improvements:
- Fork the repo
- Create your feature branch
- Submit a pull request