Search every repo like one codebase.
Polyglot indexes your whole forge and answers by meaning — ask a question or paste a fragment, and it returns the actual functions and classes that match, each with a deep-link. The same index is a first-class agent tool, so your coding agents ground themselves in your real code before they touch it.
Knowledge doesn't respect repo boundaries.
Code lives in dozens of repos; the thing you're looking for rarely sits where you'd grep. Per-repo search makes you know the answer's location before you can find it.
Polyglot indexes the whole forge as one corpus and searches it by meaning. Ask "where do we verify the merge gate?" — or paste a code fragment — and it returns the actual code units that match: a function, a class, its exported name, the exact line range, and a forge deep-link. Because the index is a read-only BFF, the same results answer the console, the chat host, and the search_code agent tool — so a coding agent grounds itself in your real code before it writes a line.
The same index your team searches is the one your agents ground in — before they change a line.
Ask in plain language. Get code.
Each hit is a ranked AST node — repo, path, line range, node kind, and a similarity score — with a deep-link to the exact lines. This is the search_code surface (a dedicated results panel is a later meridian primitive). Values illustrative.
| match | repo · path | kind | score |
|---|---|---|---|
| fn assess_merge(...) | plugin-tbzl/src/mcp.rs:126-171 | FunctionDeclaration | 0.91 |
| fn set_check(...) | plugin-forge/src/write.rs:44-98 | FunctionDeclaration | 0.79 |
| class ControlEvaluator | plugin-compliance/src/eval.rs:18-140 | ClassDeclaration | 0.74 |
| fn reporeadiness(...) | fastverk-deploy/operator/…/reporeadiness.go:210 | FunctionDeclaration | 0.71 |
One index, over the whole forge.
The Index panel reports the corpus the indexer has built — repos, snippets, last scan, and the embedding model. Until the first pass lands it shows an honest empty state. Values illustrative.
| metric | value |
|---|---|
| Repos indexed | 42 |
| Snippets | 512,004 |
| Last scan | 2m ago |
| Model | klad-code · model_version pinned |
Scan → embed → query.
The plugin holds no index — it's the seam over the engine.
Scan
The polyglot-indexer scans every forge repo and chunks code into AST nodes — a function, a class — keeping the node_type and exported_name so a result is a real code unit, not a line.
Embed
Each snippet is encoded to a vector by klad.v1.KladEmbed, pinned to a model_version, and written into a DuckDB index on a persistent volume.
Query
A free-text question or a code fragment is embedded the same way; the closest snippets come back ranked by cosine similarity, each with a forge deep-link.
Surface
The plugin is a read-only BFF (polyglot.v1.CodeSearch) — the same results answer the console, the chat host, and the search_code MCP tool. It owns no embeddings.
Find it without knowing where it lives.
The alternative searches one repo at a time, by exact string, and leaves your agents out entirely.
The plugin holds no index — the indexer owns the embeddings. The console, chat, and agents all read the same source of truth.
source · github.com/fastverk/plugin-polyglot · tools: search_code
Prove it's safe to merge.
Polyglot is one of 14 plugins in the fastverk console — hosted, or in your own cloud.