RepoMind
No description available
Install / Use
/learn @moliu0104/RepoMindREADME
RepoMind
A RAG-powered CLI that lets you ask natural language questions about any public GitHub repo — with file path citations in every answer.
$ repomind
repomind v2.0 | Anthropic | claude-sonnet-4-6
Type /help for commands.
repo > https://github.com/expressjs/express
Fetched 212 files
Chunked into 548 chunks
Embedding done
[expressjs/express] > How is routing implemented?
── ◆ thinking ────────────────────────────
The user is asking about routing internals...
──────────────────────────────────────────
Routing uses a **Layer** system. Each `Route` is an isolated middleware
stack defined in `lib/router/layer.js`. The `Router` matches paths and
delegates to `Route` instances in `lib/router/index.js`...
──────────────────────────────────────────
[expressjs/express] > exit
repo > /repo ← switch to another indexed repo instantly
repo > exit
1 collection deleted.
Demo
Coming soon
How it works
- Fetch — pulls the repo file tree via GitHub Trees API (no
git clone), fetches raw content in parallel - Chunk — splits files into ~400-token chunks with overlap
- Embed — encodes chunks locally with
all-MiniLM-L6-v2and stores in ChromaDB - Chat — on each question, retrieves the top relevant chunks and sends them as context to the LLM
- Cleanup — all ChromaDB collections deleted automatically when the session ends
Claude responses optionally use extended thinking — the reasoning process streams live in the terminal before the final answer. Toggle it anytime with /config.
Setup
1. Clone and create the environment
git clone https://github.com/moliu0104/RepoMind.git
cd RepoMind
conda create -n repomind python -y
conda activate repomind
pip install -r requirements.txt
pip install -e .
2. Run
repomind
On first launch, a setup wizard walks you through:
- Provider (Anthropic / OpenAI / MiniMax / Ollama)
- Model (arrow-key select)
- API key (hidden input)
- Extended thinking on/off (Anthropic only)
Config is saved to ~/.repomind/config.json. Run /setup anytime to change it.
Commands
| Command | Description |
|---|---|
| /help | List all commands |
| /setup | Re-run the setup wizard |
| /config | Toggle extended thinking and view current settings |
| /repo | Arrow-key picker — switch between repos indexed this session |
| /clear | Clear the terminal |
| exit | Inside chat → back to repo >; at repo > → quit |
Docker
# Build (embedding model baked in — no network needed at runtime)
docker build -t repomind .
# Run with Claude
docker run -it -e ANTHROPIC_API_KEY=sk-ant-... repomind
# Run with OpenAI
docker run -it -e OPENAI_API_KEY=sk-proj-... repomind
Stack
| Component | Library |
|---|---|
| Embeddings | sentence-transformers — all-MiniLM-L6-v2 (local, free) |
| Vector DB | ChromaDB (local, auto-deleted on exit) |
| LLM | Anthropic Claude or OpenAI (configured via wizard) |
| Terminal UI | rich — Markdown rendering, live thinking stream |
| Menus | questionary — arrow-key selection throughout |
| GitHub | Trees API + raw.githubusercontent.com |
