Skip to content

feat: add beads_rust (br) tracker backend#139

Open
ldangelo wants to merge 2 commits intojayminwest:mainfrom
ldangelo:feature/beads-rust-tracker-backend
Open

feat: add beads_rust (br) tracker backend#139
ldangelo wants to merge 2 commits intojayminwest:mainfrom
ldangelo:feature/beads-rust-tracker-backend

Conversation

@ldangelo
Copy link
Copy Markdown

Summary

  • Add beads_rust as a third tracker backend alongside beads and seeds, wrapping the br CLI (Rust rewrite of bd)
  • Handle br's different JSON output shapes: envelope for list, flat arrays for ready/show, single object for create, atomic --claim, and sync --flush-only
  • Auto-detection in resolveBackend() prefers br over bd when both .beads/ exists and br is on PATH

Test plan

  • tsc --noEmit passes
  • biome check . passes
  • bun test src/tracker/factory.test.ts — 14/14 pass (new tests for beads_rust creation, explicit config, auto-detection, CLI name)
  • Manual: set taskTracker.backend: "beads_rust" in config.yaml and verify ov status works end-to-end

🤖 Generated with Claude Code

Add a third tracker backend for the br CLI (Rust rewrite of bd) with
proper handling of its different JSON output shapes: flat arrays for
ready/show, envelope for list, single object for create, atomic --claim,
and sync --flush-only. Auto-detection prefers br over bd when available.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ldangelo ldangelo requested a review from jayminwest as a code owner March 30, 2026 12:19
Move br CLI wrapping logic from the tracker adapter into a dedicated
src/beads-rust/client.ts, mirroring the src/beads/client.ts pattern.
The tracker adapter is now a thin layer that consumes the client.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant