Skip to content

Getting started

wdpkr maintains a vector-search index of LLM-generated code summaries, so an agent can ask where something lives in conceptual terms and get back the right files and symbols — without pulling source into its context window.

This page takes you from zero to your first search.

Terminal window
cargo install wdpkr

Or build from source:

Terminal window
git clone https://github.com/duckedup/wdpkr.git
cd wdpkr
cargo install --path .

Run init from the root of the repository you want to index. It writes a CLAUDE.md section, a .wdpkrignore, and a CI workflow so the index rebuilds on merge to main.

Terminal window
wdpkr init

wdpkr talks to three external services — a summarizer, an embedder, and a vector store. Walk through them interactively:

Terminal window
wdpkr config init

At minimum you’ll need the API keys for your chosen providers. The defaults are production-ready:

RoleDefaultAPI key
SummarizerAnthropic Claude HaikuANTHROPIC_API_KEY
EmbedderVoyage voyage-code-3VOYAGE_API_KEY
Vector storeTurbopufferTURBOPUFFER_API_KEY

See Providers for the alternatives and how to swap them.

The first run is a full index:

Terminal window
wdpkr index --full

Want to know the cost before you spend it? Estimate tokens with no API calls:

Terminal window
wdpkr index --dry-run

Subsequent runs are incremental — wdpkr diffs against the last indexed commit and only re-summarizes what changed.

Terminal window
wdpkr search "release commission payments"
wdpkr search "how is rate limiting implemented" --pretty
wdpkr search "auth flow" --scope src/auth/ -k 10

By default wdpkr emits JSON to stdout — ideal for an agent to parse. Add --pretty for a human-readable view.

{
"query": "release commission payments to individual payees",
"namespace": "my-repo",
"indexed_at": "abc123",
"results": [
{
"path": "src/finance/commission/release.rs",
"score": 0.87,
"summary": "Service for releasing commission payments...",
"symbols": [
{
"name": "release_payment",
"kind": "function",
"lines": [42, 78],
"summary": "Releases commission for a specified payee...",
"score": 0.91
}
]
}
]
}