Skip to content

Releases: hunhee98/pluck

Latest benchmark results

16 May 07:51

Choose a tag to compare

Pre-release

Latest benchmark results

Nightly Benchmark

  • runners: all
  • repetitions: 3
  • scenarios: fix-auth-token-expiry

v0.6.0

02 Jun 02:03

Choose a tag to compare

v0.5.2

22 May 06:21

Choose a tag to compare

Full Changelog: v0.5.1...v0.5.2

v0.5.1

20 May 05:29

Choose a tag to compare

Full Changelog: v0.5.0...v0.5.1

v0.5.0

20 May 02:01

Choose a tag to compare

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 / = default special 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 TABLE so migration files surface the touched object even when the original CREATE TABLE lives elsewhere.
  • 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 init writes .mcp.json / ~/.codex/config.toml / .cursor/mcp.json for one-command install-time replacement of the retrieval channel.
  • Release infraworkflow_dispatch re-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.py keeps internal pluck-core deps + Cargo.lock in lockstep.

Fixed

  • PLUCK_MCP_PROTOCOL_VERSION lets pluckd pin the advertised MCP protocol for clients that have not caught up to 2025-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.grep is literal-by-default (--fixed-strings unless an explicit mode flag is passed). Identifiers with regex metacharacters like Foo( no longer fail with an unclosed-group error.
  • pluck.grep pre-validates cwd and surfaces a clear "cwd does not exist" diagnostic instead of a misleading "is rg on PATH?" spawn error.
  • Release workflow ownership split: release.yml owns GitHub Release + binaries, scripts/release.sh owns 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-gnu

Then register pluckd with your AI agent using the agent install prompt.

Known limitations

  • aarch64-unknown-linux-gnu binary is NOT in this release. Azure-hosted Ubuntu runners cannot fetch arm64 apt indexes through their default mirror, breaking libssl-dev:arm64 install. Tracked for v0.5.1 (ports.ubuntu.com sources or cross-rs/cross Docker container). Workaround on ARM Linux today: cargo install pluck-cli pluck-mcp (builds from source, no binary needed).
  • CREATE PROCEDURE is 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

16 May 18:20
125b449

Choose a tag to compare

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

15 May 13:57

Choose a tag to compare

v0.2.0

First public crates.io release of pluck.

Highlights

  • Added pluck.plan, pluck.deps, pluck.impact, and pluck.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 ms
    • indexer_files_per_sec_medium: 386 -> 2,747 files/s
    • freshness_p50_ms_medium: 183 -> 171 ms
    • digest_savings_pct: 71%

Install

cargo install pluck-mcp pluck-cli

Prebuilt binaries are attached for the targets that completed in the first release workflow. Other platforms can use cargo install.