An open-source AI-powered terminal agent for software engineering. Built in Go with Bubble Tea TUI and the Open Agent SDK.
78 slash commands | Skills & Plugins | MCP support | Multi-provider | Chinese/IME | Self-update
curl -fsSL https://raw.githubusercontent.com/codeany-ai/codeany/main/install.sh | shOr install from source:
go install github.com/codeany-ai/codeany/cmd/codeany@latestSet your API key:
export ANTHROPIC_API_KEY="sk-ant-..."# Or for OpenRouter / custom providers:export CODEANY_API_KEY="sk-or-..."export CODEANY_BASE_URL="https://openrouter.ai/api"export CODEANY_MODEL="anthropic/claude-sonnet-4-5"# Interactive mode
codeany
# With initial prompt
codeany "explain this codebase"# Pipe modeecho"what is 2+2"| codeany -p
# Print mode (non-interactive)
codeany --print -y "list files in src/"# JSON outputecho"hello"| codeany -p -y --output-format json
# Skip permission prompts
codeany -y
# Use specific model
codeany -m opus-4-6| Command | Description |
|---|---|
/help | Show all commands |
/model [name] | Switch model |
/fast | Toggle faster model |
/cost | Show token usage and cost |
/clear | Clear conversation |
/compact [hint] | Compact conversation |
/plan [task] | Plan mode / plan a task |
/commit [msg] | Git commit helper |
/review [target] | Code review |
/diff | Show git diff summary |
/bug <desc> | Investigate a bug |
/test [target] | Run tests |
/init | Initialize project (create CODEANY.md) |
/doctor | Environment diagnostics |
/mcp | Manage MCP servers |
/skills | List available skills |
/plugin | List installed plugins |
/hooks | Show configured hooks |
/context | Show all context sources |
/session | Session details |
/files | Files accessed this session |
/resume | List recent sessions |
/export | Export conversation |
/config | Show configuration |
/permissions | Permission mode |
/status | Session status |
/quit | Exit |
| Key | Action |
|---|---|
Enter | Send message |
Shift+Enter | New line |
Ctrl+C | Cancel / Exit |
Ctrl+D | Exit (empty input) |
Ctrl+L | Clear conversation |
Ctrl+O | Toggle expand tool output |
Up/Down | Input history |
PgUp/PgDown | Scroll messages |
Tab | Complete slash command |
Esc | Clear input / close menu |
! cmd | Run shell command |
Config directory: ~/.codeany/
~/.codeany/
├── settings.json # Main config (model, permissions, MCP, hooks)
├── config.yaml # YAML config (alternative)
├── permissions.json # Persisted permission rules
├── memory/ # Memory files
├── sessions/ # Session history
├── skills/ # User skills
│ └── my-skill/
│ └── SKILL.md
└── plugins/ # Plugins
└── my-plugin/
├── plugin.json
└── skills/
{
"model": "sonnet-4-6",
"permissionMode": "default",
"maxTurns": 100,
"mcpServers": {
"filesystem": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
}
},
"hooks": {
"preToolUse": [],
"postToolUse": []
}
}Create CODEANY.md (or CLAUDE.md) in your project root:
# Project Instructions## Commands-`npm test` to run tests
-`npm run build` to build
## Code Style- Use TypeScript strict mode
- Prefer functional componentsAlso supports:
CODEANY.local.md/CLAUDE.local.md— personal, gitignored.codeany/rules/*.md/.claude/rules/*.md— modular rules
Create custom skills in .codeany/skills/<name>/SKILL.md:
---name: deploydescription: Deploy to productionargumentHint: <environment>---
Deploy the application to $ARGUMENTS environment.
Run the deployment script and verify health checks.Invoke with: /deploy staging
Configure MCP servers in settings.json or manage with /mcp:
/mcp # List servers
/mcp tools # List available tools
/mcp reconnect X # Reconnect servercodeany updateMIT