Your First Index

What happens when you index a repository for the first time.

Starting the index

There are two ways to index a repository for the first time:

1. From your editor

Once your editor is connected to Scrubby, ask it to index the repository:

"Index my repo with Scrubby — it's owner/repo-name"

This call creates the repository record if it doesn't already exist, pulls the code through the GitHub App (if installed) or your GitHub sign-in token, and starts the first index.

2. From the dashboard

  1. Go to the dashboard's Repositories page.
  2. Add the repository from the list of GitHub repositories you have access to.
  3. The first index starts in the background.

What the first index does

A full index does all of the following before the repository is marked as indexed:

  1. Scans the file tree and reads a sample of file contents.
  2. Discovers the codebase's architectural domains and assigns files to them.
  3. Builds the connections between domains.
  4. Detects the languages and frameworks in use.
  5. Ingests recent git commit history.

Once these steps finish, Scrubby continues in the background to group files into segments and extract conventions, and to generate the embeddings used for cross-repository similarity search. These finish shortly after the repository first shows as indexed.

Index status

A repository's index status is one of:

The dashboard shows the current status on the repository's card and detail page. You'll also get an email when indexing finishes or fails.

Timing

A first index typically takes 3-5 minutes, depending on repository size. Very large repositories can take longer. An index that runs for more than 10 minutes times out and is marked failed. If that happens, see Indexing Stuck.

A repository must be indexed before it can be reviewed. Both the MCP tools and the GitHub App require an indexed repository. If a pull request opens on a repository that hasn't finished indexing, the GitHub App posts a status check saying so instead of a review.

After the first index

New commits are picked up automatically with a lighter incremental index, so you generally don't need to re-run a full index yourself. See Indexing for how incremental indexing works and when to trigger one manually.