Language: English | 简体中文
Ask your codebase a question. Get a precise answer — down to the line.
ACI indexes your code with embeddings and Tree-sitter AST parsing, then lets you search it with natural language. Results come back with exact file paths and line numbers, not just fuzzy matches.
$ aci search "function that validates JWT tokens"
src/auth/middleware.py:42 verify_token(token: str) -> Claims
src/auth/utils.py:118 decode_and_validate(raw: str) -> dictMost code search tools give you grep or a fuzzy filename match. ACI gives you semantic understanding:
- You describe intent, it finds the implementation
- Hybrid search combines embeddings with keyword/grep for precision
- Multi-level indexing: raw chunks, function summaries, class summaries, file summaries
- Incremental updates — only re-indexes what changed
- Works with Python, JavaScript/TypeScript, Go, Java, C, C++
# Install
uv sync
# Configure (add your embedding API key)
cp .env.example .env
# Index your codebase
aci index /path/to/your/project
# Search
aci search "error handling in the HTTP layer"That's it. See Installation for full setup details.
| Interface | Command | Use case |
|---|---|---|
| CLI | aci <command> |
Day-to-day search and indexing |
| Interactive shell | aci shell |
Iterative exploration sessions |
| HTTP API | aci serve |
Integrate with other tools |
| MCP server | aci-mcp |
LLM / agent integration |
ACI ships a first-class MCP server so agents can index and search your codebase directly.
{
"mcpServers": {
"aci": {
"command": "uv",
"args": ["run", "aci-mcp"],
"cwd": "/path/to/your/project"
}
}
}For Docker-based deployment (recommended for agentic tools), see MCP Integration.
- Python 3.10+
- Qdrant (auto-started locally via Docker, or point to Qdrant Cloud)
- Any OpenAI-compatible embedding API (OpenAI, SiliconFlow, etc.)
Development governance: AGENTS.md