Kumander: A Command-Line Tool for Managing Terminal Commands

Christopher Espiritu

Christopher Espiritu

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.

Kumander Usage Demo

Quick Start

  1. Install Kumander
# Install
curl -o- https://raw.githubusercontent.com/christopheredrian/kumander/main/install.sh | bash
  1. Open the commands directory
# Open the commands directory
code ~/.kumander/commands
  1. 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
```
  1. 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:

  1. Fork the repo
  2. Create your feature branch
  3. Submit a pull request

GitHub Repo