<p align="center">
<img src="https://siuhyr0peaacfwst.public.blob.vercel-storage.com/avala-marketing-site/news/avala-bot-no-bg.png" alt="Agent Code" width="200">
</p>
<h1 align="center">Agent Code</h1>
<p align="center">
AI coding agent for the terminal. Built in Rust.<br>
<a href="https://github.com/avala-ai">Avala AI</a>
</p>
<p align="center">
<a href="https://crates.io/crates/agent-code"><img src="https://img.shields.io/crates/v/agent-code.svg" alt="crates.io"></a>
<a href="https://github.com/avala-ai/agent-code/actions"><img src="https://github.com/avala-ai/agent-code/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
<a href="https://codecov.io/gh/avala-ai/agent-code"><img src="https://codecov.io/gh/avala-ai/agent-code/branch/main/graph/badge.svg" alt="Coverage"></a>
<a href="https://github.com/avala-ai/agent-code/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT License"></a>
</p>
---
## Install
```bash
Or: `cargo install agent-code` / `brew install avala-ai/tap/agent-code`
## Quickstart
```bash
agent # interactive mode (runs setup wizard on first launch)
agent --prompt "fix the tests" # one-shot mode
agent --model gpt-4.1-mini # use a specific model
```
The agent reads your codebase, runs commands, edits files, and handles multi-step tasks. Type `?` for keyboard shortcuts.
## 15 Providers
Works with any LLM. Set one env var and go:
| OpenAI | `OPENAI_API_KEY` | gpt-5.4 |
| Anthropic | `ANTHROPIC_API_KEY` | claude-sonnet-4 |
| xAI | `XAI_API_KEY` | grok-3 |
| Google | `GOOGLE_API_KEY` | gemini-2.5-flash |
| DeepSeek | `DEEPSEEK_API_KEY` | deepseek-chat |
| Groq | `GROQ_API_KEY` | llama-3.3-70b |
| Mistral | `MISTRAL_API_KEY` | mistral-large |
| Together | `TOGETHER_API_KEY` | meta-llama-3.1-70b |
| Zhipu (z.ai) | `ZHIPU_API_KEY` | glm-4.7 |
| Ollama | (none) | qwen3:latest |
| AWS Bedrock | `AGENT_CODE_USE_BEDROCK` | claude-sonnet-4 |
| Google Vertex | `AGENT_CODE_USE_VERTEX` | claude-sonnet-4 |
| OpenRouter | `OPENROUTER_API_KEY` | anthropic/claude-sonnet-4 |
| Cohere | `COHERE_API_KEY` | command-r-plus |
| Perplexity | `PERPLEXITY_API_KEY` | sonar-pro |
Plus any OpenAI-compatible endpoint: `agent --api-base-url http://localhost:8080/v1`
## Input Modes
| (none) | Chat with the agent |
| `!` | Run shell command directly |
| `/` | Slash commands (tab-complete) |
| `@` | Attach file to prompt |
| `&` | Run prompt in background |
| `?` | Toggle shortcuts panel |
| `\` + Enter | Multi-line input |
## 32 Built-in Tools
File ops, search, shell, git, web, LSP, MCP, notebooks, tasks, and more. Tools execute during LLM streaming for faster turns. [Full list →](docs/reference/tools.mdx)
## 12 Bundled Skills
| `/commit` | Create well-crafted git commits |
| `/review` | Review diff for bugs and security issues |
| `/test` | Run tests and fix failures |
| `/explain` | Explain how code works |
| `/debug` | Debug errors with root cause analysis |
| `/pr` | Create pull requests |
| `/refactor` | Refactor code for quality |
| `/init` | Initialize project configuration |
| `/security-review` | OWASP-oriented vulnerability scan |
| `/advisor` | Architecture and dependency health analysis |
| `/bughunter` | Systematic bug search |
| `/plan` | Structured implementation planning |
Add custom skills as markdown files in `.agent/skills/` or `~/.config/agent-code/skills/`.
## Configuration
```toml
# ~/.config/agent-code/config.toml
[api]
model = "gpt-4.1-mini"
[permissions]
[features]
token_budget = true
extract_memories = true
auto_theme = true
[security]
mcp_server_allowlist = ["github", "filesystem"]
disable_bypass_permissions = true
```
## Architecture
```
crates/
lib/ agent-code-lib Engine: providers, tools, query loop, memory
cli/ agent-code Binary: REPL, TUI, commands, setup wizard
```
The engine is a reusable library. The binary is a thin wrapper.
## 43 Slash Commands
Session management, context control, git operations, agent coordination, configuration, diagnostics, and more. [Full list →](docs/reference/commands.mdx)
Highlights: `/release-notes`, `/summary`, `/feedback`, `/share`, `/update`, `/doctor`, `/plan`, `/model`, `/cost`, `/scroll`, `/rewind`, `/fork`
## Security
Protected directories (`.git/`, `.husky/`, `node_modules/`) are blocked from writes regardless of permission settings. Destructive shell commands trigger warnings. [Learn more →](SECURITY.md)
## Platforms
| Linux | x86_64, aarch64 | curl, cargo, homebrew, prebuilt binary |
| macOS | x86_64, Apple Silicon | curl, cargo, homebrew, prebuilt binary |
| Windows | x86_64 | cargo, prebuilt binary (.zip) |
| Docker | any | `docker run ghcr.io/avala-ai/agent-code` |
## Contributing
```bash
git clone https://github.com/avala-ai/agent-code.git
cd agent-code
cargo build
cargo test # 225+ tests
cargo clippy # zero warnings
```
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines and [ROADMAP.md](ROADMAP.md) for planned improvements.
## License
MIT