A lightweight, cross-platform TUI (Terminal User Interface) application for architects and developers to quickly access and execute common commands with smart autocomplete.
🤖 Made with the help of AI — Built collaboratively with Claude by Anthropic
- 🔮 Smart Autocomplete: Gmail-style autocomplete with ghost text suggestions
- 📦 Pre-loaded Commands: Top 10-15 commands for Docker, Kubernetes, gcloud, Azure, curl, and git
- 🎨 Beautiful TUI: Side-by-side panel interface with modern styling
- 🌈 Multiple Themes: 4 built-in color themes (dark, dracula, nord, gruvbox) with runtime switching
- 🎯 Unix/Linux Colors: Familiar terminal color scheme (green prompt, yellow commands, etc.)
- 📋 Easy Copy: One-key copy of command output or command text to clipboard
- ⚡ Lightweight: Single binary, no dependencies required at runtime
- 🔧 Customizable: Add your own commands via YAML or JSON configuration
- 🖥️ Cross-Platform: Works on Windows, Linux, and macOS
- 📜 Session History: Navigate through previously executed commands
- 🖱️ Mouse Support: Scroll output with mouse wheel
- 🛠 Technology Overview: Visual display of all supported technologies
go install github.com/duladissa/architerm@latestgit clone https://github.com/duladissa/architerm.git
cd architerm
make build
./build/architermDownload the latest release for your platform from the Releases page.
| Platform | Architecture | Download |
|---|---|---|
| Linux | amd64 | architerm-linux-amd64 |
| Linux | arm64 | architerm-linux-arm64 |
| macOS | amd64 | architerm-darwin-amd64 |
| macOS | arm64 (M1/M2) | architerm-darwin-arm64 |
| Windows | amd64 | architerm-windows-amd64.exe |
# Start archiTerm
architerm
# Start with custom config
architerm --config /path/to/commands.yaml
# Show version
architerm version| Key | Action |
|---|---|
Tab |
Accept autocomplete suggestion |
Enter |
Execute the command |
↑ / ↓ |
Navigate suggestions or history |
Page Up / Page Down |
Scroll output (5 lines) |
Alt + ↑ / Alt + ↓ |
Scroll output (1 line) |
Esc |
Clear input |
Ctrl+L |
Clear output |
Ctrl+U |
Clear input line |
Ctrl+T |
Cycle through color themes |
Ctrl+C |
Cancel running command / Exit |
| Key | Action |
|---|---|
Ctrl+Y |
Copy last command output to clipboard |
Ctrl+B |
Copy last command to clipboard |
After copying, you'll see a confirmation message:
- ✅ "Output copied!" - output successfully copied
- ✅ "Command copied!" - command successfully copied
You can select and copy text from the output panel using your mouse:
| Action | Result |
|---|---|
| Click and drag | Select specific lines |
| Double-click | Select and copy entire output |
| Release mouse | Auto-copy selection to clipboard |
How it works:
- Click and drag in the output panel to select lines
- Selected lines are highlighted in blue
- Release mouse to automatically copy the selection to clipboard
- Double-click anywhere in output to select & copy everything
- A "✅ Selection copied!" message confirms the copy
This works just like selecting text in a normal terminal!
| Action | Result |
|---|---|
| Scroll wheel up | Scroll output up |
| Scroll wheel down | Scroll output down |
archiTerm comes with 4 built-in color themes:
| Theme | Description |
|---|---|
dark |
Default dark theme with purple/cyan accents |
dracula |
Popular Dracula color scheme |
nord |
Nord-inspired arctic color palette |
gruvbox |
Retro groove color scheme |
# Start with a specific theme
architerm --theme dracula
# List available themes
architerm themes
# Preview a theme's colors
architerm theme-preview nordPress Ctrl+T while running to cycle through themes instantly! The current theme name will briefly appear in the status bar.
archiTerm looks for custom commands in the following locations:
~/.config/architerm/commands.yaml(or.json)- Custom path via
--configflag
commands:
- template: "ssh user@hostname"
description: "SSH to a remote server"
category: "custom"
tags:
- ssh
- remote
- template: "terraform plan"
description: "Show Terraform execution plan"
category: "terraform"
tags:
- terraform
- iac{
"commands": [
{
"template": "terraform apply",
"description": "Apply Terraform changes",
"category": "terraform",
"tags": ["terraform", "iac"]
}
]
}archiTerm comes with 230+ pre-loaded commands stored as embedded JSON files, making it easy to extend:
| Tool | Icon | Commands | Examples |
|---|---|---|---|
| Docker | 🐳 | 15 | docker ps, docker logs -f, docker-compose up |
| Kubernetes | ☸️ | 15 | kubectl get pods, kubectl describe, kubectl apply |
| gcloud | ☁️ | 15 | gcloud compute instances list, gcloud auth login |
| Azure | ⚡ | 15 | az login, az vm list, az aks get-credentials |
| curl | 🌐 | 15 | curl -X POST, curl -H "Authorization: Bearer" |
| git | 📦 | 15 | git status, git pull, git checkout -b |
| SSH | 🔐 | 15 | ssh USER@HOST, ssh -i KEY, ssh-keygen, scp |
| tcpdump | 🔬 | 15 | tcpdump -i any, tcpdump port 80, tcpdump -w file.pcap |
| netstat | 📡 | 15 | netstat -tuln, ss -tulnp, lsof -i :PORT |
| Linux | 🐧 | 23 | systemctl status, iptables -L, ufw allow, journalctl |
| nginx | 🌿 | 15 | nginx -t, nginx -s reload, tail -f access.log |
| conda | 🐍 | 15 | conda create -n env, conda activate, conda install |
| tmux | 🖥️ | 15 | tmux new -s, tmux attach, tmux split-window |
| grep | 🔍 | 15 | grep -r PATTERN, grep -i, grep -n, grep -v |
| find | 📂 | 15 | find . -name, find -type f, find -mtime, find -exec |
Commands are stored in JSON files under internal/commands/embedded/:
internal/commands/embedded/
├── docker.json # Docker & docker-compose commands
├── kubernetes.json # kubectl commands
├── gcloud.json # Google Cloud CLI commands
├── azure.json # Azure CLI commands
├── curl.json # curl HTTP commands
├── git.json # Git version control commands
├── ssh.json # SSH, SCP, ssh-keygen commands
├── tcpdump.json # Network packet capture commands
├── netstat.json # netstat, ss, lsof network commands
├── linux.json # systemctl, iptables, ufw, journalctl
├── nginx.json # nginx web server commands
├── conda.json # Conda environment management
├── tmux.json # tmux terminal multiplexer
├── grep.json # grep pattern search commands
└── find.json # find file search commands
These files are embedded into the binary at compile time, so no external files are needed at runtime.
- Go 1.21 or later
- Make (optional, for convenience)
# Build for current platform
make build
# Build for all platforms
make build-all
# Build for specific platform
make build-linux
make build-darwin
make build-windows
# Run tests
make test
# Create release archives
make releaseContributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
To add a new technology category with built-in commands:
- Create a new JSON file in
internal/commands/embedded/(e.g.,terraform.json) - Follow the JSON structure:
{
"category": "terraform",
"commands": [
{
"template": "terraform init",
"description": "Initialize Terraform working directory",
"tags": ["init", "setup"]
},
{
"template": "terraform plan",
"description": "Show execution plan",
"tags": ["plan", "preview"]
}
]
}- Rebuild the application:
make build
The new category will automatically appear in the "Supported Technologies" panel!
This project is licensed under the MIT License - see the LICENSE file for details.
See CHANGELOG.md for a detailed history of changes.
- Bubble Tea - The TUI framework
- Lip Gloss - Style definitions
- Cobra - CLI framework
- zsh-autocomplete - Inspiration for the autocomplete UX
Made with ❤️ for architects and developers who love the terminal.
⭐ Star us on GitHub •
🐛 Report Bug •
✨ Request Feature
