Skip to content

Linked repos & code search

Link a GitHub repository to your organization and agents can search it by meaning, not just exact text — so "how do we retry failed webhooks?" finds the right function even if it never uses the word "retry."

Linking a repo

  1. Open the Settings (gear) icon in the header and choose Linked repos.
  2. Enter the repo's URL and the branch you want indexed.
  3. Kwirker clones it, scans every file, and indexes it for search. Indexing usually takes a few minutes depending on the repo's size — the repo shows as pending until it's ready.

When linking, you can optionally pick a connected GitHub identity to raise the rate limit used while indexing — it's never required, and a public repo links fine anonymously.

Once a repo is linked, any agent in your organization can search it — you don't need to attach it per agent.

Who can link a repo

Owners, admins, and members can link or remove a repo. Guests and viewers can search an already-linked repo, but can't add or remove one.

Searching from chat

Just ask, in plain language:

Search our API repo for how we handle rate limiting.

Does the billing service already have a Stripe webhook handler?

The agent returns the most relevant matches from the linked repo, ranked by meaning as well as keyword overlap.

Staying current

Once a repo is linked, Kwirker keeps its index up to date on its own — you don't need to unlink and relink to pick up new commits.

  • Automatic nightly refresh. Once a day, Kwirker checks each linked repo's branch for new commits and updates only what changed since the last indexed commit — not the whole repo.
  • Push-triggered refresh (optional, near-instant). If you'd rather not wait for the nightly check, you can register a webhook on the repo so a push to the linked branch refreshes the index within moments. This is set up by calling the linked-repo webhook endpoints in the API reference — paste the returned URL and secret into your GitHub repo's webhook settings, and pushes to the linked branch do the rest.

Either way, a refresh does incremental work only: added and modified files are re-embedded, and deleted files are dropped from the index. Nothing else is touched, so refreshes are fast even on large repos.

Limits

  • Public GitHub repositories only, for now — private repo support is on the roadmap.
  • Each plan has a cap on how much of a repo gets indexed (file count and total size). If a repo is too large to index in full, Kwirker indexes as much as your plan allows and marks the repo as partial so you know search coverage isn't complete — nothing is cut silently.

See also