I have around 100 git repos. When I’m working with Claude Code on one of them, the AI has deep knowledge of that repo but zero awareness of the rest. Questions like “which of my repos already has a fuzzy search implementation?” or “what other projects use this pattern?” require me to go dig around manually.
repoindex fixes that.
The Idea
Separation of concerns:
Claude Code (deep work on ONE repo)
|
| "What else do I have?"
| "Which repos need X?"
v
repoindex (collection awareness)
|
+-- repo://... -> what exists
+-- tags://... -> organization
+-- stats://... -> aggregations
+-- events://... -> what happened
Claude Code works inside repositories. repoindex knows about repositories: metadata, tags, status, relationships. Together they give you full portfolio awareness.
MCP Server Integration
The most useful part is the MCP (Model Context Protocol) server. Add it to your Claude Code configuration and the AI can query your collection directly:
- “Which of my Python repos don’t have a LICENSE file?”
- “What repos have I updated in the last week?”
- “Show me all projects tagged with
ml”
The server exposes resources like repo://, tags://, stats://, and events:// that Claude Code reads to understand your portfolio.
Core Features
Tag-Based Organization. Hierarchical tags for categorizing repos. Tags can be explicit (repoindex tag add myproject topic:ml) or implicit (derived automatically from language, directory, features).
Query Language. Filter repos with expressions:
repoindex query "language == 'Python' and 'ml' in tags"
repoindex query "stars > 10 and has:docs"
Event Tracking. What happened across your collection:
repoindex events --since 7d --pretty
New releases, tags, PyPI publishes, all in one view.
JSONL Output. Every command outputs newline-delimited JSON by default, so it plays well with Unix pipelines:
repoindex status | jq 'select(.status.clean == false)'
Installation
Available on PyPI:
pip install repoindex
Configure your repository directories and start indexing:
repoindex config generate
repoindex list --pretty
Why the Rename?
This was previously called ghops. The new name is more honest about what it does: it indexes repositories. The old name implied GitHub-specific operations, but the tool works with any git repo.
See the project page for full documentation.
Discussion