CodeBendKit
codeseek
Rustโœจ New

Rust-powered code intelligence CLI for AI coding agents. Builds call graphs and hybrid semantic search indexes (Dense + Sparse + RRF + Reranker) across 7 languages. Ships as native MCP tools for Claude Code and Codex CLI.

Last updated Jul 8, 2026
596
Stars
42
Forks
0
Issues
+74
Stars/day
Attention Score
67
Language breakdown
No language data available.
โ–ธ Files click to expand
README

CodeSeek

Code intelligence CLI tool for Claude Code. AST-based call graph analysis + semantic search โ€” right from your terminal.

Quick Start

# Install via npm (handles setup wizard + binary download automatically)
npm install -g codeseek

First run โ€” interactive setup wizard configures your embedding model

codeseek

Index your project

codeseek init

Search code by symbol name

codeseek search main --limit 10

Query call graph

codeseek callers main codeseek callees process_data

Register with Claude Code / Codex as MCP tools

codeseek install

Check status

codeseek status

Auto-index on git commits

codeseek install-hooks

Natural Language Code Search example

โ•ฐโ”€$ codeseek search 'how the code embedding work'
  • get_embedding (0.7973)
/home/do/ssd/iohub/dev/codeseek/rust-core/src/services/embedding_service.rs:0
  • EmbeddingService (0.2855)
/home/do/ssd/iohub/dev/codeseek/rust-core/src/services/embedding_service.rs:0
  • EmbeddingData (0.1449)
/home/do/ssd/iohub/dev/codeseek/rust-core/src/services/embedding_service.rs:0
  • EmbeddingResponse (0.1304)
/home/do/ssd/iohub/dev/codeseek/rust-core/src/services/embedding_service.rs:0
  • default_model (0.0450)
/home/do/ssd/iohub/dev/codeseek/rust-core/src/config.rs:0

Function Call Graph example

โ•ฐโ”€$ codeseek callgraph apply_rerank
Call graph for 'apply_rerank' (depth=1):

== Callers (upstream, depth=1) == search (/home/do/ssd/iohub/dev/codeseek/rust-core/src/services/hybrid_search.rs:210)

== Callees (downstream, depth=1) == rerank (/home/do/ssd/iohub/dev/codeseek/rust-core/src/services/reranker_service.rs:331) config (/home/do/ssd/iohub/dev/codeseek/rust-core/src/services/hybrid_search.rs:325)

Install

npm

npm install -g codeseek

The npm package ships a lightweight JS wrapper that handles:

| Step | Description | |------|-------------| | First-run wizard | Interactive CLI prompts for embedding API token, model, and base URL | | Binary download | Automatically pulls the correct Rust binary for your platform from GitHub Releases | | Pass-through | All commands (init, search, callers, etc.) are forwarded to the native binary |

Supported platforms:

| Platform | Architecture | |----------|-------------| | macOS | arm64 (Apple Silicon), x64 (Intel) | | Linux | x64 |

Homebrew

brew tap CodeBendKit/codeseek git@github.com:CodeBendKit/codeseek.git
brew install codeseek

From source

# install protoc

macos: brew install protobuf

ubuntu: sudo apt install protoc

git clone https://github.com/CodeBendKit/codeseek.git cd codeseek ./build.sh --release

build.sh compiles both the TypeScript wrapper (dist/) and the Rust binary, then installs to ~/.codeseek/bin/.

Commands

| Command | Description | |---------|-------------| | codeseek | First-time setup wizard (configures embedding model interactively) | | codeseek init | Build/update code index (full on first run, MD5-incremental thereafter) | | codeseek status | Index statistics: functions, files, last update | | codeseek search <query> | Symbol name search (falls back from vector โ†’ graph name match) | | codeseek callers <symbol> | Find functions that call this symbol | | codeseek callees <symbol> | Find functions this symbol calls | | codeseek callgraph <symbol> | Query call graph with configurable depth (bi-directional) | | codeseek list | List all indexed projects with paths | | codeseek install | Register codeseek as MCP tools in Claude Code / Codex | | codeseek uninstall | Remove MCP integration | | codeseek uninit | Delete the current project index | | codeseek install-hooks | Install git hooks (post-commit/post-merge โ†’ codeseek init) | | codeseek serve --mcp | Start MCP server (stdio JSON-RPC, used by Claude Code internally) |

All query commands support --json for machine-readable output.

Claude Code / Codex Integration

codeseek install

Writes MCP server config to:

| Agent | Config file | |-------|------------| | Claude Code | ~/.claude.json (global, all projects) or ./.mcp.json (project-local) | | Codex CLI | ~/.codex/config.toml |

Claude Code auto-discovers these tools after restart:

| Tool | Capability | |------|-----------| | codeseek_search | Find symbols by name | | codeseek_callers | Trace upstream callers | | codeseek_callees | Trace downstream callees | | codeseek_callgraph | Query call graph with configurable depth (bi-directional) | | codeseek_status | Check index health |

Remove integration:

codeseek uninstall

How It Works

Index Building (codeseek init)

Source files
  โ†’ Tree-sitter AST parse (7 languages)
  โ†’ Extract functions / classes / methods
  โ†’ Batch embed via API (20 texts per call, SQLite cache)
  โ†’ Store vectors in LanceDB
  โ†’ Build BM25 index in Tantivy
  โ†’ Serialize call graph (PetCodeGraph)
  โ†’ Save to ~/.codeseek/<project_hash>/

Idempotent: first run is full build, subsequent runs compare MD5 hashes โ€” only changed files are re-processed. Use codeseek install-hooks for automatic re-index on git commit/merge.

Hybrid Search Pipeline (codeseek search)

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
User query โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ†’โ”‚  Embedding Model    โ”‚โ”€โ”€โ†’ Query vector
                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ–ผ                       โ–ผ                       โ–ผ
   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ”‚ Dense Search โ”‚      โ”‚ Sparse Search โ”‚       โ”‚ Graph Search  โ”‚
   โ”‚ (LanceDB ANN)โ”‚      โ”‚ (Tantivy BM25)โ”‚       โ”‚ (PetCodeGraph)โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
          โ”‚                      โ”‚                        โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                 โ–ผ
                        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                        โ”‚   RRF Fusion    โ”‚  โ† Reciprocal Rank Fusion
                        โ”‚  (Top-20 candidates)โ”‚
                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                 โ”‚
                                 โ–ผ
                        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                        โ”‚    Reranker     โ”‚  โ† Cross-Encoder fine re-ranking
                        โ”‚ (Qwen3-Reranker)โ”‚     scores each (query, code) pair
                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                 โ”‚
                                 โ–ผ
                        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                        โ”‚   Final Results  โ”‚  โ† Top-5 (or Top-N)
                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

| Stage | Technology | Role | Speed | |-------|-----------|------|:-----:| | Dense Search | LanceDB + Embedding Model | Semantic vector similarity | Fast | | Sparse Search | Tantivy BM25 | Keyword & token matching | Fast | | RRF Fusion | Reciprocal Rank Fusion | Merge heterogeneous scores fairly | Instant | | Reranker | Cross-Encoder (Qwen3-Reranker-4B) | Full-interaction precision scoring | ~1-2s | | Fallback | PetCodeGraph | Graph-based name search (no API needed) | Instant |

If embedding/Reranker are unavailable, the pipeline falls back gracefully to graph-based name search.

Storage

  • Config: ~/.codeseek/config.json (global, shared across all projects)
  • Index: ~/.codeseek/<md5(project_root)>/
- project.json โ€” Project metadata - graph.bin โ€” Serialized call graph - embeddings.lance/ โ€” LanceDB vector data - tantivy_bm25/ โ€” BM25 full-text index - file_hashes.json โ€” MD5 incremental tracking

No daemon, no HTTP server. Every command is a standalone process.

Supported Languages

| Language | Functions | Structs/Classes | Call Graph | |----------|:---------:|:---------------:|:----------:| | Rust | โœ… | โœ… | โœ… | | Python | โœ… | โœ… | โœ… | | JavaScript | โœ… | โœ… | โœ… | | TypeScript | โœ… | โœ… | โœ… | | Go | โœ… | โœ… | โœ… | | C/C++ | โœ… | โœ… | โœ… | | Java | โœ… | โœ… | โœ… |

Configuration

~/.codeseek/config.json:

{
  "embedding": {
    "provider": "openai-compatible",
    "model": "Qwen/Qwen3-Embedding-4B",
    "api_token": "sk-...",
    "apibaseurl": "https://api.siliconflow.cn/v1",
    "dimensions": 2560
  },
  "index": {
    "mincodeblock_length": 16,
    "enable_reranker": true,
    "hybrid": {
      "enable_bm25": true,
      "bm25topk": 20,
      "vectortopk": 20,
      "rrf_k": 60,
      "rrftopk": 20
    },
    "reranker": {
      "enabled": true,
      "model": "Qwen/Qwen3-Reranker-4B",
      "api_token": "sk-...",
      "apibaseurl": "https://api.siliconflow.cn/v1/rerank",
      "top_n": 5,
      "candidate_multiplier": 5,
      "timeout_secs": 60
    }
  },
  "installed_hooks": {}
}

Model Roles

| Model | Role | When | |-------|------|------| | Qwen/Qwen3-Embedding-4B | Converts code โ†’ vectors for dense search | Index building | | Qwen/Qwen3-Reranker-4B | Scores (query, code) pairs for precision | Search time |

Set via the interactive wizard on first run, or create manually.

Development

cd rust-core

Build

cargo build

Build + install to ~/.codeseek/bin/

cd .. && ./build.sh --release

Run tests

cargo test

Compile TypeScript wrapper

npm run build

License

MIT

Built with: Tree-sitter ยท Petgraph ยท LanceDB ยท Tantivy ยท Tokio ยท Clap

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท CodeBendKit/codeseek ยท Updated daily from GitHub