An open-source AI-powered terminal agent for software engineering. Built in Go with Bubble Tea TUI and the Open Agent SDK.
41 slash commands | Skills & Plugins | MCP support | Chinese/IME input | 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 mode
echo "what is 2+2" | codeany -p
# Print mode (non-interactive)
codeany --print -y "list files in src/"
# JSON output
echo "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: deploy
description: Deploy to production
argumentHint: <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