π§ AIKD
The Ultra-Fast Local Memory Layer for AI Coding Agents
Give Claude, Cursor, and Cline instant memory of your entire codebase. Written in Rust. Zero cloud dependency. Search 10,000 chunks in 0.21ms.
Install β’ Quick Start β’ Demo β’ Docs
π€ Why AIKD?
The Problem: AI coding agents are powerful but forgetful. Every new conversation starts from zero β no memory of your codebase, your patterns, your architecture.
How AIKD Compares
β¨ Key Features
π Search Engine
- Hybrid Search: BM25 (Tantivy) + Vector (ONNX all-MiniLM-L6-v2, 384d)
- Reciprocal Rank Fusion: Combines keyword + semantic results intelligently
- Incremental Indexing: Blake3 hashing for zero-redundancy scans
- Resource Adaptive: Auto-detects CPU/GPU and adjusts batch sizes
π€ AI Integration
- MCP Protocol: Native support for Model Context Protocol
- 7 Built-in Tools:
scan,query,embed,stats,remember,recall,status - Auto-Registration: Works with Claude Code, Cursor, Cline, Continue, Windsurf, MiMoCode
- Session Memory: Persistent conversation context across sessions
π οΈ Developer Experience
- Single Binary: No Python, no Node, no dependencies
- File Watcher: Auto-reindex on file changes
- REST API: HTTP endpoint on port 9090 for custom integrations
- CLI First: Full control from terminal
π¬ See It In Action

$ aikd init
β
AIKD initialized for project
$ aikd scan
π Indexed 847 files, 12,453 chunks in 1.2s
$ aikd query "authentication flow"
1. src/auth/login.rs (Lines 45-89, Score: 0.923)
Implements JWT-based authentication with refresh tokens...
2. src/middleware/auth.rs (Lines 12-34, Score: 0.871)
Validates Bearer tokens on protected routes...
3. docs/architecture/auth.md (Lines 1-25, Score: 0.845)
Authentication flow diagram and security considerations...
π¦ Installation
Recommended (One-Line)
Linux / macOS:
curl -sSf https://raw.githubusercontent.com/gelutjari/aikd/main/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/gelutjari/aikd/main/install.ps1 | iex
Alternatives
cargo install aikd
brew install gelutjari/tap/aikd
git clone https://github.com/gelutjari/aikd.git
cd aikd
cargo build --release
cp target/release/aikd ~/.local/bin/
docker run -v $(pwd):/workspace -p 9090:9090 ghcr.io/gelutjari/aikd:latest
β‘ Quick Start (3 minutes)
Step 1: Initialize
cd your-project
aikd init
Creates ~/.aikd/config.yaml with smart defaults based on your project type (Rust, Node, Python, Go). It detects .git, Cargo.toml, package.json, etc. and sets appropriate file filters.
Step 2: Scan Your Codebase
aikd scan
- Walks directory tree (skipping
node_modules,.git,target, etc.) - Chunks files by semantic boundaries (functions, headings)
- Generates BM25 index (Tantivy) and vector embeddings (ONNX)
- Stores everything in local SQLite database
Step 3: Search
# Keyword search (fast)
aikd query "error handling"
# Semantic search (smart)
aikd query "how does login work" --hybrid
# Get JSON output for scripting
aikd query "database connection" --json
Step 4: Connect to Your AI Agent
AIKD auto-registers via MCP. Just restart your AI agent after running aikd scan.
The MCP config is at ~/.aikd/mcp.json:
{
"mcpServers": {
"aikd": {
"command": "aikd",
"args": ["serve"]
}
}
}
# Start the daemon
aikd daemon
# Query via HTTP
curl "http://localhost:9090/api/query?q=authentication&limit=5"
ποΈ Usage Modes
βββββββββββββββββββ
β How to use β
β AIKD? β
ββββββββββ¬βββββββββ
β
ββββββββββββββββββΌβββββββββββββββββ
βΌ βΌ βΌ
ββββββββββββ ββββββββββββ ββββββββββββ
β CLI β β MCP β β REST API β
β Mode β β Server β β Daemon β
ββββββββββββ ββββββββββββ ββββββββββββ
Best for: Best for: Best for:
β’ Quick search β’ AI agents β’ Web apps
β’ Scripts β’ Claude Code β’ Custom UIs
β’ CI/CD β’ Cursor β’ Team shared
CLI Mode (default):
aikd query "rust error handling" --limit 5
aikd stats
aikd status
MCP Server (for AI agents):
aikd serve # Starts stdio MCP server
REST Daemon (background service):
aikd daemon # Start in background
aikd daemon foreground # Start in foreground
aikd daemon-stop # Stop daemon
π Benchmark Results

Hardware: AMD EPYC 7B13, 7.8GB RAM, NVMe SSD
Resource Usage:
CPU: ββββββββββββββββββββ 22.9%
RAM: ββββββββββββββββββββ 27.4%
π‘ Real-world context: A human eye blink takes ~300ms. In that time, AIKD can complete 857 hybrid searches across your entire codebase.
βοΈ Configuration
Default config (~/.aikd/config.yaml):
version: 2.0.0
scan:
include_paths: ["."]
exclude_paths: ["node_modules", ".git", "target"]
include_extensions: ["rs", "ts", "py", "md", "json"]
follow_symlinks: false
chunk:
max_tokens: 1000
min_tokens: 100
embedding:
enabled: true
model: all-MiniLM-L6-v2
batch_size: auto
server:
rest_port: 9090
auth_token: null
cors_origins: ["*"]
embedding:
enabled: true
batch_size: 8
device: cpu
resource:
mode: Low
embedding:
enabled: true
batch_size: 64
device: gpu
resource:
mode: Max
scan:
include_extensions: ["md", "txt", "rst"]
exclude_paths: [".git"]
filter:
max_file_size: 524288 # 512KB
server:
rest_port: 9090
auth_token: "your-secret-token"
cors_origins:
- "https://your-team-app.com"
ποΈ Architecture

βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AIKD v2.0.0 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββββββ β
β β CLI β β MCP β β REST β β File Watcherβ β
β β (clap) β β (rmcp) β β (axum) β β (notify) β β
β ββββββ¬βββββ ββββββ¬βββββ ββββββ¬βββββ ββββββββ¬βββββββ β
β β β β β β
β ββββββββββββββ΄βββββββββββββ΄ββββββββββββββββ β
β β β
β βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ β
β β Core Engine β β
β βββββββββββββββ¬ββββββββββββββ¬ββββββββββββββββββββββββββ€ β
β β Scanner β Chunker β Session Manager β β
β β (walkdir) β(pulldown- β (conversation DB) β β
β β β cmark) β β β
β ββββββββ¬βββββββ΄βββββββ¬βββββββ΄ββββββββββββββββββββββββββ β
β β β β
β ββββββββ΄βββββββ ββββββ΄ββββββ ββββββββββββββββββββββββ β
β β Indexer β β Embedder β β Storage β β
β β (Tantivy) β β (ONNX) β β (SQLite + WAL) β β
β β BM25 + β β 384d β β + r2d2 pool β β
β β HNSW ANN β β MiniLM β β + blake3 hashing β β
β βββββββββββββββ ββββββββββββ ββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
See docs/ARCHITECTURE.md for detailed breakdown.
π Troubleshooting
Diagnostic Commands:
aikd status --json # System info
aikd stats # Index statistics
aikd daemon-pid # Check if daemon running
- Run
aikd scanfirst - Check
aikd statsto verify files indexed - Try broader search terms
- Check
include_extensionsin config
aikd model download
This downloads ~90MB ONNX model to ~/.local/share/aikd/model/.
# Change port in config
# ~/.aikd/config.yaml
server:
rest_port: 9091
Or stop existing process: aikd daemon-stop
Set resource mode to Low:
resource:
mode: Low
max_memory_mb: 512
- Check
~/.aikd/mcp.jsonexists - Restart your AI agent
- Verify
aikd serveworks:echo '{"jsonrpc":"2.0","method":"initialize","id":1}' | aikd serve
Install Visual C++ Redistributable.
π€ Community
Get Help:
- π¬ GitHub Discussions β Ask questions
- π Issues β Report bugs
- π§ Email: [email protected]
Contributors:
See CONTRIBUTING.md for how to contribute.
π License
MIT License β see LICENSE for details.
β Star this repo if AIKD helps your AI agents remember!