Skip to content

bartolli/codanna

Repository files navigation

Codanna

Claude Google Gemini OpenAI Codex Rust Crates.io Total Downloads

Documentation · Report Bug · Discussions

X-ray vision for your agent.

Give your code assistant the ability to see through your codebase—understanding functions, tracing relationships, and finding implementations with surgical precision. Context-first coding. No grep-and-hope loops. No endless back-and-forth. Just smarter engineering in fewer keystrokes.

Quick Start

# Install
cargo install codanna --all-features

# Initialize and index
codanna init
codanna index src --progress

# Ask questions
codanna mcp semantic_search_with_context query:"where do we handle errors" limit:3

# Index documentation for RAG
codanna documents add-collection docs ./docs
codanna documents index
codanna mcp search_documents query:"authentication flow"

What It Does

Your AI assistant gains structured knowledge of your code:

  • "Where's this function called?" - Instant call graph, not grep results
  • "Find authentication logic" - Semantic search matches intent, not just keywords
  • "What breaks if I change this?" - Full dependency analysis across files

The difference: Codanna understands code structure. It knows parseConfig is a function that calls validateSchema, not just a string match.

Features

Feature Description
Semantic Search Natural language queries against code and documentation. Finds functions by what they do, not just their names.
Relationship Tracking Call graphs, implementations, and dependencies. Trace how code connects across files.
Document Search Index markdown and text files for RAG workflows. Query project docs alongside code.
MCP Protocol Native integration with Claude, Gemini, Codex, and other AI assistants.
Profiles Package hooks, commands, and agents for different project types.
Plugins Claude Code manifest format for project-scoped workflows.

Performance: Sub-10ms symbol lookups with memory-mapped caches.

Languages: Rust, Python, JavaScript, TypeScript, Java, Kotlin, Go, PHP, C, C++, C#, Swift, GDScript.

Integration

Standard CLI and MCP protocol. Works with Claude, Codex, and any MCP-compatible client. HTTP/HTTPS servers available for network access.

Claude Code

{
  "mcpServers": {
    "codanna": {
      "command": "codanna",
      "args": ["serve", "--watch"]
    }
  }
}

HTTP Server

codanna serve --http --watch
codanna serve --https --watch  # With TLS

Unix Pipes

codanna mcp find_callers index_file --json | \
jq -r '.data[]?[0] | "\(.name) - \(.file_path)"'

See Integrations for detailed setup guides.

Documentation

View all documentation

Advanced Features

Profiles - Package reusable configurations
codanna init --force
codanna profile provider add bartolli/codanna-profiles
codanna profile install claude@codanna-profiles
npm --prefix .claude/hooks/codanna install

The claude profile includes Research-Agent, /codanna:x-ray and /codanna:symbol commands, and hooks for skill suggestions.

See Profile Documentation.

Document Collections - RAG-ready documentation search
codanna documents add-collection docs docs/
codanna documents add-collection guides examples/
codanna documents index --progress
codanna documents search "error handling" --collection docs

Chunks documents, generates embeddings, and provides semantic search over your markdown files.

See Document Search.

Requirements

  • Rust 1.85+ (for building from source)
  • ~150MB for embedding model (downloaded on first use)

Linux: sudo apt install pkg-config libssl-dev macOS: No additional dependencies

Status

  • Sub-10ms symbol lookups
  • 75,000+ symbols/second parsing
  • Windows support is experimental

Contributing

Contributions welcome. See CONTRIBUTING.md.

License

Apache License 2.0 - See LICENSE.

Attribution required. See NOTICE.


Built with Rust.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 11