Releases: hunhee98/pluck
Latest benchmark results
Latest benchmark results
- Workflow run: https://github.com/hunhee98/pluck/actions/runs/27367232502
- Commit: 06e19ad
- Updated: 2026-06-11T18:04:46Z
Nightly Benchmark
- runners: all
- repetitions: 3
- scenarios: fix-auth-token-expiry
v0.6.0
Full Changelog: v0.5.2...v0.6.0
v0.5.2
Full Changelog: v0.5.1...v0.5.2
v0.5.1
Full Changelog: v0.5.0...v0.5.1
v0.5.0
v0.5 chunker wave: 5 new languages — Kotlin, SQL, Terraform (HCL), C, C++ — bringing pluck to 16 languages and formats total. First release with Homebrew.
Performance (gated on benchmarks/baseline.json)
| Metric | Value | What it gates |
|---|---|---|
chunker_medium_ms_p50 |
1.05 ms | tree-sitter parse + chunk extraction on a 500-line file |
indexer_files_per_sec_medium |
2 747 files/s | cold-start indexing throughput |
warm_search_p50_ms_medium |
0.07 ms | warm BM25F + RRF hybrid search |
freshness_p50_ms_medium |
171 ms | save → re-indexed → visible to next query |
session_dedup_session_savings_pct |
23 % | re-shown chunks replaced with a 1-token placeholder |
digest_savings_pct |
71 % | pluck.digest compression of CI / test / build logs |
Every release proves these on a real bench; every PR is gated against them. The frozen values are floor invariants, not aspirations.
16 languages / formats supported
Programming: Rust · TypeScript · TSX · JavaScript · Python · Go · Java · Kotlin · C · C++
Data / config: SQL · Terraform (HCL) · YAML · JSON · TOML
Docs / scripts: Markdown / MDX · HTML · CSS / SCSS · Dockerfile · Shell
Highlights
- 5 new chunkers (Kotlin, SQL, Terraform / HCL, C, C++) — each shipped with a smoke test AND a real-world fixture in the same PR. Notable design choices:
- HCL emits dotted symbols matching HCL's own reference syntax (
resource.aws_s3_bucket.main,variable.region) so agents grep either the block type or the address and land. - C++ captures
= delete/= defaultspecial members, qualified out-of-class member impls, reference-return variants, and templated class / function with both outer + inner surface for grep-by-either. - SQL emits a module chunk per
ALTER TABLEso migration files surface the touched object even when the originalCREATE TABLElives elsewhere.
- HCL emits dotted symbols matching HCL's own reference syntax (
- 7 repo-format chunkers from the unreleased v0.4 train ride along — HTML, CSS / SCSS, Markdown / MDX, YAML / JSON / TOML, Dockerfile, Shell, Java.
- Prompt-first agent install — a single copy-pastable prompt installs pluck, registers the MCP server, and applies the strongest pluck-first retrieval layer the agent officially supports (Claude Code / Codex / Cursor + universal fallback for any MCP-capable agent).
pluck initwrites.mcp.json/~/.codex/config.toml/.cursor/mcp.jsonfor one-command install-time replacement of the retrieval channel.- Release infra —
workflow_dispatchre-runs the release workflow on a specific tag without re-pushing; version-management gate enforces Cargo.toml / Cargo.lock / CHANGELOG consistency on PRs;scripts/bump-version.pykeeps internalpluck-coredeps + Cargo.lock in lockstep.
Fixed
PLUCK_MCP_PROTOCOL_VERSIONletspluckdpin the advertised MCP protocol for clients that have not caught up to2025-11-25.- TSX files now parse with tree-sitter's TSX grammar; parse warnings include the repo-relative path; index summaries count parse-error files.
pluck.grepis literal-by-default (--fixed-stringsunless an explicit mode flag is passed). Identifiers with regex metacharacters likeFoo(no longer fail with an unclosed-group error.pluck.greppre-validatescwdand surfaces a clear "cwd does not exist" diagnostic instead of a misleading "isrgon PATH?" spawn error.- Release workflow ownership split:
release.ymlowns GitHub Release + binaries,scripts/release.showns crates.io publish.
Install
# Cargo
cargo install pluck-cli pluck-mcp
# Homebrew (NEW in 0.5.0)
brew tap hunhee98/pluck
brew install pluck
# Or pre-built binaries — see assets below
# • x86_64-apple-darwin
# • aarch64-apple-darwin
# • x86_64-unknown-linux-gnuThen register pluckd with your AI agent using the agent install prompt.
Known limitations
aarch64-unknown-linux-gnubinary is NOT in this release. Azure-hosted Ubuntu runners cannot fetch arm64 apt indexes through their default mirror, breakinglibssl-dev:arm64install. Tracked for v0.5.1 (ports.ubuntu.com sources orcross-rs/crossDocker container). Workaround on ARM Linux today:cargo install pluck-cli pluck-mcp(builds from source, no binary needed).CREATE PROCEDUREis not indexed in SQL files — tree-sitter-sequel grammar limitation. Functions, triggers, views, and ALTER TABLE migrations are fully supported. Waits on upstream grammar fix or parser swap.
Full changelog
See CHANGELOG.md for the complete entry list and the v0.3.0…v0.5.0 PR list for every merged change.
v0.3.0
What's Changed
- Add benchmark regression CI workflows by @hunhee98 in #1
- Generalize retrieval quality datasets by @hunhee98 in #2
- Inline tiny bodies in read outlines by @hunhee98 in #3
- Publish nightly benchmark release assets by @hunhee98 in #4
- Update GitHub Actions to Node 24 runtimes by @hunhee98 in #5
- Report recall quality by language by @hunhee98 in #6
- Filter BM25 stopwords for natural-language queries by @hunhee98 in #7
- Add CJK retrieval quality coverage by @hunhee98 in #8
- Add two-stage hybrid search cascade by @hunhee98 in #9
- Expand natural-language queries with indexed BM25 vocab by @hunhee98 in #10
- Infer hybrid search alpha from query embeddings by @hunhee98 in #11
- Expand recall suite to 100 repo-backed queries by @hunhee98 in #12
- Boost ranking with symbol and path components by @hunhee98 in #13
- Prepare v0.3.0 release by @hunhee98 in #14
- ci: run benchmark gate only on PRs by @hunhee98 in #15
- ci: ship release artifacts for supported targets by @hunhee98 in #16
- ci: update Intel macOS release runner by @hunhee98 in #17
New Contributors
Full Changelog: v0.2.0...v0.3.0
v0.2.0
v0.2.0
First public crates.io release of pluck.
Highlights
- Added
pluck.plan,pluck.deps,pluck.impact, andpluck.digest. - Added CI/build/test log compression with a gated 71% median savings metric.
- Optimized the chunker with a single-pass merged tree-sitter query.
- Refroze the benchmark baseline:
chunker_medium_ms_p50: 4.24 -> 1.05 msindexer_files_per_sec_medium: 386 -> 2,747 files/sfreshness_p50_ms_medium: 183 -> 171 msdigest_savings_pct: 71%
Install
cargo install pluck-mcp pluck-cliPrebuilt binaries are attached for the targets that completed in the first release workflow. Other platforms can use cargo install.