"Because typing the same 15 commands every day is so 2026."
A command-line utility that turns your chaotic terminal sessions into a beautiful, interactive menu. Stop memorizing commands. Start executing like a pro.
๐ What Makes This Tool Special?
| Feature | What It Does For You |
|---|---|
| ๐ฏ Zero Memorization | Never type kubectl get pods --all-namespaces --context=prod again |
| โก Lightning Fast | One binary. No dependencies. Runs everywhere. |
| ๐ Command Chaining | Execute complex workflows with --exec "1-2-3-4"
|
| ๐ Team-Ready | Share menu.yml with your team. Onboard new devs in 30 seconds. |
| ๐ Env Variables | Store secrets safely in env.ini โ never hardcode credentials |
๐ฆ Installation (30 seconds or less)
Option 1: One-Liner (if binary is hosted)
curl -sSL https://example.com/hello | sudo tee /usr/local/bin/hello && sudo chmod +x /usr/local/bin/hello
Option 2: Build from source
git clone https://github.com/yourrepo/hello
cd hello
go build -o hello main.go
./hello --help
Option 3: Copy & Go
# Anywhere you want:
cp hello ~/hello # Home folder
cp hello /usr/local/bin/ # Global access (recommended)
๐ฎ Usage That Will Make You Smile
Interactive Mode โ The "I'm Feeling Lazy" Way
# Just run it. The menu will greet you.
./hello
# Using your own config
./hello -c ./deploy_menu.yml
Headless Mode โ The "I'm Automating Everything" Way
# Execute a single command
./hello --exec "1"
# Execute a whole pipeline (1 โ 2 โ 3 โ 4)
./hello --exec "1-2-3-4"
Perfect for: CI/CD pipelines, morning standup scripts, and impressing your boss.
๐ Example Menu (Your New Best Friend)
items:
1:
title: "1. ๐ Deploy to Production"
commands:
- "git checkout main"
- "git pull origin main"
- "docker build -t myapp:latest ."
- "docker push myapp:latest"
- "kubectl rollout restart deployment/myapp"
2:
title: "2. ๐ Check System Health"
commands:
- "htop"
- "df -h"
- "free -m"
- "netstat -tulpn | grep LISTEN"
3:
title: "3. ๐ฅ Clean Up Docker Garbage"
commands:
- "docker system prune -af --volumes"
- "echo 'โจ Saved 47 GB of disk space!'"
๐ Why Developers Are Switching
"I used to spend 10 minutes every morning running status checks. Now I just type
./hello --exec 2and grab coffee." โ Senior DevOps Engineer"My junior devs can now deploy to production without breaking things. The menu guides them step by step." โ Tech Lead
"I put this in our onboarding guide and new hires are productive on day 1." โ Engineering Manager
๐ง Pro Tips for Maximum Swag
- Create different menus for different projects:
./hello -c ./k8s_menu.yml
./hello -c ./aws_menu.yml
./hello -c ./db_backup.yml
Add emojis to your menu titles โ trust me, it works.
Use environment variables for sensitive data:
# env.ini
DB_PASSWORD=supersecret
AWS_KEY=AKIA...
commands:
- "mysql -u root -p%(DB_PASSWORD)s"
-
Create aliases in your
.bashrc:
alias deploy="./hello -c ./deploy.yml --exec 1-2-3"
alias health="./hello -c ./health.yml"
alias backup="./hello -c ./backup.yml"
๐ง Architecture Philosophy
This tool was built with one principle in mind: "Your terminal should work FOR you, not AGAINST you."
- Simple YAML config โ No need to learn a new DSL
- Go binary โ Fast, portable, dependency-free
- Chaining support โ Complex workflows made simple
- Error handling โ If a command fails, execution stops immediately
๐ Project Structure
.
โโโ hello # The binary (your new best friend)
โโโ main.go # Source code (if you're curious)
โโโ menu/ # Default menu folder
โ โโโ menu.yml # Your main menu
โโโ env.ini # Environment variables (optional)
โโโ README.md # This masterpiece
๐ ๏ธ Debugging (for the brave)
# Run with Delve debugger
dlv debug --headless --listen=:40000 --api-version=2
# Build with debug symbols
go build -gcflags="all=-N -l" -o hello main.go
๐ฏ Roadmap (Coming Soon)
- [ ] Dark mode support (your eyes will thank you)
- [ ] Command history (see what you ran last week)
- [ ] Web UI (because why not?)
- [ ] Plugin system (write your own commands in any language)
- [ ] AI-powered suggestions (automatically complete your workflows)
โค๏ธ Show Some Love
If this tool saved you time, made you smile, or just looked cool in your terminal:
- โญ Star this repo โ it's like a high-five to the developer
- ๐ฆ Tweet about it โ tag me @hrustbb
- ๐ฌ Share your menu โ inspire others with your setup
- โ Buy me a coffee โ (if you're feeling generous)
๐ฌ Feedback & Contributions
Found a bug? Have a feature request? Want to contribute?
- Open an issue on GitHub
- Submit a PR โ all contributions welcome!
- Connect with me on DEV.to
๐ License
MIT โ use it, abuse it, share it, improve it.
Made with โค๏ธ by @hrustbb
"The best CLI tool you've never heard of โ until today."
๐ Bonus: Quick Start Template
Here's a menu.yml to get you started in 60 seconds:
items:
1:
title: "1. ๐ฆ Update system packages"
commands:
- "sudo apt update && sudo apt upgrade -y"
2:
title: "2. ๐ Show disk usage"
commands:
- "df -h | grep -v snap"
3:
title: "3. ๐งน Clear system cache"
commands:
- "sudo apt autoclean"
- "sudo apt autoremove -y"
4:
title: "4. ๐ System monitoring dashboard"
commands:
- "htop"
5:
title: "5. ๐ช Exit"
commands:
- "echo '๐ See you tomorrow!'"
- "exit 0"
Copy this, save it as menu/menu.yml, and run ./hello. You're now a productivity superhero.
Want to learn more? Check out the full documentation and advanced examples on DEV.to ๐
Top comments (0)