Give Claude Code a brain for your entire codebase. Index once, ask anything.
Project description
๐ง RepoMind
Give Claude Code a brain for your entire codebase.
Index once. Ask anything. Never explain your code to AI again.
The Problem
You open Claude Code, paste half your codebase into the chat, and still get hallucinated function names.
You're not giving AI a codebase โ you're giving it a dump. AI needs understanding, not just text.
The Solution
RepoMind builds a semantic brain for your repo. Every file, chunked and embedded locally. Ask it anything โ it finds exactly what's relevant and feeds that to the AI.
repomind index .
repomind ask "How does authentication work?"
That's it.
โก Quickstart
pip install repomind-cli
cd your-project/
repomind index .
repomind ask "Where is the payment logic?"
No API key needed. Works fully offline. Add ANTHROPIC_API_KEY or OPENAI_API_KEY to unlock AI-generated answers.
๐ Claude Code Plugin
RepoMind ships with a first-class Claude Code MCP plugin โ Claude automatically gets your codebase context before answering any question.
# Install the plugin (once)
bash plugin/install.sh
# Claude now has 5 new tools:
# repomind_ask ยท repomind_explain ยท repomind_overview ยท repomind_index ยท repomind_doctor
Claude Code will automatically call these tools when you ask about your code โ no manual prompting needed.
Slash Commands
Drop .claude/commands/ into any project and get instant slash commands:
| Command | What it does |
|---|---|
/repomind-ask <question> |
Semantic search + grounded answer |
/repomind-explain <file> |
Purpose, functions, flow of any file |
/repomind-overview |
Full project map with module descriptions |
What You Get
$ repomind ask "How does the auth flow work?"
โโโโโโโโโโ ๐ Relevant Files โโโโโโโโโโ
- src/auth/middleware.py
- src/auth/jwt.py
- src/users/service.py
โโโโโโโโโโ ๐ Memory โโโโโโโโโโ
- Auth uses JWT stored in HttpOnly cookies
- Tokens expire after 24h
โโโโโโโโโโ ๐ Code Snippets โโโโโโโโโโ
src/auth/middleware.py:12-48
def validate_token(request):
...
โโโโโโโโโโ ๐ง Answer โโโโโโโโโโ
Auth flow: request โ JWT middleware โ token validation โ
user lookup โ route handler. Tokens are stored in
HttpOnly cookies and validated on every request.
All Commands
| Command | Description |
|---|---|
repomind index . |
Build semantic index for current repo |
repomind index . --update |
Re-index only changed files (fast) |
repomind ask "<question>" |
Ask anything about the codebase |
repomind ask "<question>" --format prompt |
Get a paste-ready AI prompt |
repomind explain <file> |
Deep-dive any file |
repomind overview |
Project structure + module map |
repomind remember "<note>" |
Save a note to codebase memory |
repomind remember |
List all saved notes |
repomind forget <id> |
Remove a note |
repomind doctor |
Check setup and environment |
๐ง Memory
RepoMind has persistent memory per repo. Notes you save are automatically included in every future ask query โ both in the output and in the LLM prompt.
repomind remember "Auth uses JWT stored in HttpOnly cookies"
repomind remember "Postgres 15 โ schema lives in db/migrations/"
repomind remember "Never call UserService directly, go through the API layer"
repomind ask "How do I add a new endpoint?"
# โ Answer is grounded in your code + your notes
Notes are stored in .repomind/memory.json โ plain JSON, easy to commit or gitignore.
Free vs Premium
| Feature | Free (no key) | Premium (API key) |
|---|---|---|
| Semantic file retrieval | โ | โ |
| Code snippets with line numbers | โ | โ |
| Memory injection | โ | โ |
| Project overview | โ | โ |
| AI-generated answers | โ | โ |
| File explanations (AI) | โ | โ |
| Module summaries (AI) | โ | โ |
Free mode is fully useful. Premium mode adds natural language answers on top.
Set either key to activate:
export ANTHROPIC_API_KEY=sk-ant-... # preferred
export OPENAI_API_KEY=sk-... # also works
How It Works
repomind index .
1. FileScanner โ walks your repo, skips binaries/noise
2. CodeChunker โ splits files into overlapping chunks
3. Embedder โ encodes chunks with all-MiniLM-L6-v2 (local)
4. FAISS โ stores vectors in .repomind/index.faiss
repomind ask "..."
1. Embed question โ same local model, no network call
2. FAISS search โ top-k most relevant chunks
3. LLM (optional) โ grounded answer with citations
Everything lives in .repomind/ inside your project. No global state. No cross-repo leakage.
Configuration
Optional config file at .repomind/config.toml:
# Use a different embedding model
embedding_model = "sentence-transformers/all-MiniLM-L6-v2"
# Max file size to index (default: 1MB)
max_file_size_bytes = 1048576
All settings can also be set via environment variables:
REPOMIND_EMBEDDING_MODEL=...
REPOMIND_MAX_FILE_SIZE_BYTES=...
ANTHROPIC_API_KEY=...
OPENAI_API_KEY=...
Installation
# Stable release
pip install repomind-cli
# Latest from source
pip install git+https://github.com/MBilalShabbir/repomind.git
Requirements: Python 3.10+
Claude Code Plugin โ Full Setup
For teams that use Claude Code as their primary AI IDE:
# 1. Clone the repo (or copy the plugin/ folder)
git clone https://github.com/MBilalShabbir/repomind.git
# 2. Install the MCP plugin
bash repomind/plugin/install.sh
# 3. Index your project
cd your-project/
repomind index .
# 4. Open Claude Code โ it now has your full codebase as context
Claude Code gains 5 MCP tools: repomind_ask, repomind_explain, repomind_overview, repomind_index, repomind_doctor.
It also gains 3 slash commands if you copy .claude/commands/ into your project.
Why Star This?
- ๐ 100% local embeddings โ your code never leaves your machine
- ๐ง Persistent memory โ notes survive across sessions
- โก Claude Code MCP plugin โ first-class integration, not an afterthought
- ๐ Free mode is real โ semantic search works without any API key
- ๐ Incremental indexing โ only re-embeds changed files
- ๐๏ธ Per-repo isolation โ no cross-project contamination
Contributing
Stars, issues, and PRs are welcome.
git clone https://github.com/MBilalShabbir/repomind.git
cd repomind
pip install -e .
If RepoMind saved you from pasting your entire codebase into a chat window, leave a star โญ โ it helps more developers find this.
Built by Bilal ยท MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file repomind_cli-1.0.0.tar.gz.
File metadata
- Download URL: repomind_cli-1.0.0.tar.gz
- Upload date:
- Size: 33.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9295002c588e202d1af0ec52b668e4471b416e3f83be4a46333d37b44de4db3
|
|
| MD5 |
75f085235c6913994e4a34ca35e8cc72
|
|
| BLAKE2b-256 |
909a1bfb0e851dfc47021c1c511313108d2b8132e0ed7a1f6761a415d36c413e
|
Provenance
The following attestation bundles were made for repomind_cli-1.0.0.tar.gz:
Publisher:
publish.yml on MBilalShabbir/repomind
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
repomind_cli-1.0.0.tar.gz -
Subject digest:
c9295002c588e202d1af0ec52b668e4471b416e3f83be4a46333d37b44de4db3 - Sigstore transparency entry: 1274228595
- Sigstore integration time:
-
Permalink:
MBilalShabbir/repomind@250dbbd83425ec809f4ff078e1e45a7edb7df840 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/MBilalShabbir
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@250dbbd83425ec809f4ff078e1e45a7edb7df840 -
Trigger Event:
release
-
Statement type:
File details
Details for the file repomind_cli-1.0.0-py3-none-any.whl.
File metadata
- Download URL: repomind_cli-1.0.0-py3-none-any.whl
- Upload date:
- Size: 35.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcaebe5b9c847202d2f9bec5d1a968f60deef965aab2e53aefc100e9875a9801
|
|
| MD5 |
89966af9e13debd6e8a79066548986ab
|
|
| BLAKE2b-256 |
df36b97aab5e7c0493a722b73e4284aac32d3b8c9a680040979c8cfd648391d2
|
Provenance
The following attestation bundles were made for repomind_cli-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on MBilalShabbir/repomind
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
repomind_cli-1.0.0-py3-none-any.whl -
Subject digest:
fcaebe5b9c847202d2f9bec5d1a968f60deef965aab2e53aefc100e9875a9801 - Sigstore transparency entry: 1274228692
- Sigstore integration time:
-
Permalink:
MBilalShabbir/repomind@250dbbd83425ec809f4ff078e1e45a7edb7df840 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/MBilalShabbir
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@250dbbd83425ec809f4ff078e1e45a7edb7df840 -
Trigger Event:
release
-
Statement type: