DEV Community

Alex Towell
Alex Towell

Posted on • Originally published at metafunctor.com

repoindex: Give Claude Code Awareness of Your Entire Repository Collection

I've been working on a tool called repoindex that solves a problem I kept running into: when working with Claude Code on a project, the AI has deep knowledge of the current repository but no awareness of my other projects.

Questions like "which of my repos already has a fuzzy search implementation?" or "what other projects use this pattern?" require manual searching. repoindex changes that.

The Philosophy

The key insight is 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
Enter fullscreen mode Exit fullscreen mode

Claude Code works inside repositories - editing, generating, understanding code. repoindex knows about repositories - metadata, tags, status, relationships. Together they provide full portfolio awareness.

MCP Server Integration

The most useful feature is the MCP (Model Context Protocol) server. Add it to your Claude Code configuration and suddenly the AI can query your repository collection:

  • "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 can read 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 (automatically derived 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"
Enter fullscreen mode Exit fullscreen mode

Event Tracking: Monitor what's happening across your collection:

repoindex events --since 7d --pretty
Enter fullscreen mode Exit fullscreen mode

New releases, tags, PyPI publishes - all in one view.

JSONL Output: Every command outputs newline-delimited JSON by default, perfect for Unix pipelines:

repoindex status | jq 'select(.status.clean == false)'
Enter fullscreen mode Exit fullscreen mode

Installation

Now available on PyPI!

pip install repoindex
Enter fullscreen mode Exit fullscreen mode

Then configure your repository directories and start indexing:

repoindex config generate
repoindex list --pretty
Enter fullscreen mode Exit fullscreen mode

Top comments (0)