🧠 RepoMind AI
AI-powered codebase Q&A and Knowledge Transfer generator for VSCode
Ask anything about any repo — get instant, accurate answers with exact file references.

The Problem
A new developer joins your team. The previous owner of the codebase has left. There is no documentation. Where does the app start? How does auth work? What does this file do?
RepoMind AI solves this. It reads your entire codebase, understands it semantically, and answers any question about it — with exact file names and line numbers.
Features
| Feature |
Description |
| 💬 Codebase Chat |
Ask anything — "where is the main function?", "how does the payment flow work?", "what design patterns are used?" |
| 📝 KT Generator |
One click generates a full Knowledge Transfer document covering architecture, entry points, data flow, and onboarding steps |
| 🔍 Explain Any File |
Right-click any file → instant explanation of what it does and how it connects to the rest of the codebase |
| 🌳 AST-level Understanding |
Uses Tree-sitter WASM to parse code by function and class boundaries — not just text search |
| ⚡ Streaming Answers |
Responses stream token by token like ChatGPT — no waiting for the full answer |
| 🔒 Privacy First |
Secrets, API keys, and tokens are redacted before any LLM call. Optional fully local mode via Ollama |
Quick Start
1. Install the extension
Search "RepoMind AI" in the VSCode Extensions sidebar, or:
code --install-extension YOUR_PUBLISHER_ID.repomind-ai
2. Set your API key
Cmd+Shift+P → RepoMind: Set API Key → paste your OpenAI or Anthropic key
3. Index your repo
Cmd+Shift+P → RepoMind: Index Repository
Wait for the progress notification. A 500-file repo takes ~60 seconds.
4. Start asking questions
Cmd+Shift+P → RepoMind: Open Chat
Commands
| Command |
Description |
RepoMind: Set API Key |
Store your API key securely in VSCode's secret storage |
RepoMind: Index Repository |
Scan and embed the entire workspace |
RepoMind: Open Chat |
Open the Q&A chat panel |
RepoMind: Generate KT Document |
Generate a full onboarding/KT markdown document |
RepoMind: Explain Current File |
Explain the file currently open in the editor |
Configuration
Open VSCode Settings (Cmd+,) and search "RepoMind":
| Setting |
Default |
Description |
repomind.provider |
anthropic |
LLM for answers: anthropic, openai, ollama |
repomind.embeddingProvider |
openai |
Embeddings: openai, voyage |
repomind.ollamaModel |
codellama |
Ollama model name (local/private mode) |
repomind.excludePatterns |
[**/.env*, **/secrets/**] |
Glob patterns to skip during indexing |
Privacy
RepoMind is built privacy-first:
- Secret redaction — API keys, tokens, passwords, and private keys are stripped from all text before being sent to any LLM
- VSCode SecretStorage — your API keys are stored in the OS keychain, never in settings files or on disk
- Exclude patterns — configure globs to skip sensitive directories entirely during indexing
- Local mode — set
repomind.provider to ollama and run a local model (e.g. codellama) for zero data leaving your machine
Tech Stack
| Layer |
Technology |
| Extension |
VSCode Extension API (TypeScript) |
| Code parsing |
web-tree-sitter (WASM — no native binaries) |
| Vector search |
HNSWlib (local, sub-100ms) |
| LLM |
Anthropic Claude (streaming) |
| Embeddings |
OpenAI text-embedding-3-small / Voyage voyage-code-3 |
| Chat UI |
VSCode Webview with inline markdown renderer |
Supported Languages
JavaScript · TypeScript · Python · Go · Rust
(More coming: Java, C#, C++, Ruby, PHP)
Build From Source
# Prerequisites: Node.js 18+, VSCode 1.85+
# 1. Clone and install
git clone https://github.com/YOUR_USERNAME/repomind-ai
cd repomind-ai
npm install
# 2. Download WASM grammars
for lang in javascript typescript python go rust; do
curl -L -o src/grammars/tree-sitter-$lang.wasm \
"https://github.com/tree-sitter/tree-sitter-$lang/releases/download/v0.23.0/tree-sitter-$lang.wasm"
done
# 3. Build and run
npm run watch # start dev build (leave running)
# Press F5 in VSCode → Extension Development Host opens
Project Structure
src/
├── extension.ts # activate() — entry point, command registration
├── agent/
│ ├── indexer.ts # walks repo, parses AST, creates chunks
│ ├── embedder.ts # OpenAI / Voyage embedding abstraction
│ ├── vectorStore.ts # HNSWlib wrapper — add, search, clear
│ ├── parser.ts # web-tree-sitter WASM parser per language
│ ├── llmClient.ts # Claude streaming client
│ └── ktGenerator.ts # 10-section KT document builder
├── privacy/
│ └── filter.ts # regex-based secret redaction
├── webview/
│ ├── panel.ts # WebviewPanel manager + message bridge
│ └── chat.html # chat UI with inline markdown renderer
└── grammars/ # .wasm grammar files (downloaded separately)
How It Works
User asks question
↓
Question → Embedder → query vector
↓
Vector → HNSWlib → top 8 most relevant code chunks
↓
Chunks + Question → Privacy Filter (redact secrets)
↓
Filtered context → Claude (streaming)
↓
Streamed tokens → Webview → renders markdown in real time
The indexer runs once per session. It walks every source file, parses it with Tree-sitter to find function and class boundaries, splits into semantic chunks, embeds each chunk, and stores them in an in-memory HNSWlib index. Retrieval is sub-100ms even on large repos.
FAQ
Q: Does it send my code to the cloud?
A: Only the relevant chunks (not the whole repo) are sent to the LLM per query, and secrets are redacted first. For fully local operation, use Ollama mode.
Q: How long does indexing take?
A: ~500 files takes 60–90 seconds on first run. The index is held in memory — re-index any time with RepoMind: Index Repository.
Q: What's the cost?
A: OpenAI embeddings cost ~$0.00002/1K tokens — indexing a 500-file repo costs less than $0.01. Claude API is pay-per-use. Voyage embeddings are free up to 50M tokens/month.
Q: Does it work on private repos?
A: Yes — the extension runs entirely on your machine. Nothing is uploaded except the query context chunks to the LLM API.
Q: Can I use it without an API key?
A: Set repomind.provider to ollama, pull a model (ollama pull codellama), and run Ollama locally. Zero API calls, fully private.
Roadmap
- [ ] Persistent index (survives VSCode restart)
- [ ] Java, C#, C++ language support
- [ ] GitHub Copilot Chat integration
- [ ] Multi-repo support
- [ ] Diff-aware re-indexing (only re-embed changed files)
- [ ] Export KT doc as PDF
Contributing
PRs welcome. Please open an issue first for large changes.
npm run compile # type check
npm run build # production build
npx vsce package # create .vsix
License
MIT — see LICENSE
Author
Built by Saithivyah R · LinkedIn · GitHub
"The best documentation is the one that writes itself."