A safe, opinionated coding agent
Asimi is an opinionated command-line interface that brings AI-powered coding assistance directly to your terminal. Built with modern Go libraries and a focus on developer experience, Asimi helps you write better code faster.
TLDR;
just run,:login,:init
- 🎨 Beautiful TUI - Built with Bubble Tea for a smooth, interactive experience
 - 📝 Markdown Support - Rich markdown rendering with syntax highlighting using Glamour
 - 🤖 Multiple AI Providers - Support for ollama, Claude, OpenAI, Gemini, and Qwen models
 - 🔧 Powerful Tools - Integrated file operations, shell commands, and context management
 - ⌨️ Vi Mode - Using vi-style line editing by default
 - 📊 Context Awareness - Smart token counting and context visualization
 - 🎯 Session Management - Save and resume your coding sessions
 
go install github.com/asimi/asimi-cli
./asimi- 
Login to your AI provider:
:login - 
Try some commands:
:help- Show available commands:context- View token usage and context:new- Start a new conversation:resume- resume an old session
 
Asimi comes with default proper vi editing.
- Insert Mode (Green border; status bar shows 
-- INSERT --): Type normally - Normal Mode (Yellow border; status bar shows 
-- NORMAL --): Navigation and editing only 
Entering Insert Mode:
i- Insert at cursorI- Insert at line starta- Append after cursorA- Append at line endo- Open line belowO- Open line above
Navigation (Normal Mode):
h/j/k/l- Left/Down/Up/Rightw/b- Word forward/backward0/$- Line start/endgg/G- Input start/end
Editing (Normal Mode):
x- Delete characterdw- Delete wordD- Delete to line endp- Paste
Commands:
Use : instead of / in vi mode (e.g., :help, :new, :quit)
Exit Vi Mode:
Press Esc to go from insert to normal mode. Run /vi or :vi to disable vi mode entirely.
- Go 1.21 or higher
 - Just command runner
 
We're using a Justfile to collect all our script.
If you need a new script please add a recipe in the Justfile.
# List recipes
just
# run Asimi
just run
# Run tests
just test
# measure harness performance
just measureFlat. Please refrain from adding directories and files.
Asimi uses a custom color scheme inspired by Terminal7:
- Prompt Border: 
#F952F9(Magenta) - Chat Border: 
#F4DB53(Yellow) - Text Color: 
#01FAFA(Cyan) - Warning: 
#F4DB53(Yellow) - Error: 
#F54545(Red) 
- Bubble Tea - Terminal UI framework
 - Koanf - Configuration management
 - Kong - CLI argument parser
 - LangChainGo - LLM communications and tools
 - Glamour - Markdown rendering
 
Asimi takes security seriously:
- API keys are stored securely in your system keyring
 - No data is sent to third parties except your chosen AI provider
 - All file operations require explicit confirmation
 - Shell commands are executed with proper sandboxing
 
We welcome contributions! Here are some ways you can help:
- Report bugs - Open an issue with details
 - Suggest features - Share your ideas
 - Submit PRs - Fix bugs or add features
 - Improve docs - Help others understand Asimi
 
We use present progressive tense for commit messages:
# Good
git commit -m "feat: adding markdown support"
git commit -m "bug: fixing context overflow bug"
# Avoid
git commit -m "added markdown support"
git commit -m "fixed context overflow bug"Asimi stores its configuration in ~/.config/asimi/conf.toml (user-level) or .asimi/conf.toml (project-level):
[llm]
provider = "anthropic"
model = "claude-sonnet-4-20250514"
vi_mode = true  # Enable vi-style keybindings (default: true)
max_output_tokens = 4096vi_mode- Enable/disable vi-style keybindings (default:true)- Set to 
falseto use standard editing mode - Can also be set via environment variable: 
ASIMI_LLM_VI_MODE=false 
- Set to 
 provider- AI provider (anthropic, openai, googleai, qwen)model- Model name (provider-specific)max_output_tokens- Maximum tokens in AI responsesmax_turns- Maximum conversation turns before stopping
See conf.toml.example for a complete list of configuration options.
Logs are stored in ~/.local/share/asimi/log/
Q: Asimi won't start
# Check if the binary is executable
chmod +x asimi
# Try running with verbose logging
./asimi --debugQ: API key not working
# Re-login to refresh credentials
asimi loginQ: Context overflow errors
# Check your context usage
/context
# Start a new conversation
/newSee CHANGELOG.md for planned features and recent changes.
- Init command
 - Task delegation with sub-agents
 - Session resume with history
 
[Add your license here]
- Built with ❤️ using Go
 - Inspired by modern CLI tools and AI assistants
 - Special thanks to the Bubble Tea and LangChain communities
 
Made with  by the Asimi team
Safe, fun, and high-quality code generation