fix: correct bv (beads_viewer) installation method#324
Conversation
- Change from non-existent pip package to Homebrew tap - Add Go install and curl script fallbacks - Update beads.md documentation with correct commands - bv is a Go tool, not Python (was trying pipx install beads-viewer)
Summary of ChangesHello @marcusquinn, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request addresses an incorrect installation procedure for the Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. WalkthroughThis PR migrates the beads_viewer tool from Python to a Go-based implementation named bv, updating installation instructions in documentation and setup scripts from pipx-based deployment to Homebrew-based installation with fallback options. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request correctly fixes the installation method for the bv (beads_viewer) tool, changing it from a Python package to a Go tool installed via Homebrew with appropriate fallbacks. The documentation in beads.md has also been updated accordingly. I've suggested one improvement in setup.sh to make the Homebrew installation command more robust and idiomatic.
setup.sh
Outdated
| print_info "Run: beads-viewer" | ||
| if command -v brew &> /dev/null; then | ||
| # Add the tap and install | ||
| if run_with_spinner "Installing bv via Homebrew" bash -c "brew tap dicklesworthstone/tap 2>/dev/null; brew install dicklesworthstone/tap/bv"; then |
There was a problem hiding this comment.
The Homebrew installation command can be simplified and made more robust. The brew install user/tap/formula syntax automatically handles tapping, making the explicit brew tap command redundant. Additionally, using ; between commands is less safe than &&, as it would attempt to install even if tapping failed. The run_with_spinner function already redirects stderr, so 2>/dev/null is also unnecessary.
Using the modern, idempotent brew install command is cleaner and more reliable.
| if run_with_spinner "Installing bv via Homebrew" bash -c "brew tap dicklesworthstone/tap 2>/dev/null; brew install dicklesworthstone/tap/bv"; then | |
| if run_with_spinner "Installing bv via Homebrew" brew install dicklesworthstone/tap/bv; then |
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Thu Feb 5 02:09:07 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
|
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Thu Feb 5 02:11:36 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
There was a problem hiding this comment.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.agent/tools/task-management/beads.md (1)
147-163:⚠️ Potential issue | 🟡 MinorReplace inline bv install/run commands with file:line references
These new bv install/run snippets embed commands directly in the agent doc. To keep docs progressive and authoritative, point to the actual implementation (e.g.,
setup.sh:2746-2847) or a dedicated subagent instead of inline commands.📝 Suggested doc tweak (progressive disclosure)
-| `bv` | TUI | PageRank, critical path, graph analytics | `brew install dicklesworthstone/tap/bv` | +| `bv` | TUI | PageRank, critical path, graph analytics | See setup.sh:2746-2847 | @@ -# Advanced TUI with graph analytics (Go) -brew tap dicklesworthstone/tap && brew install dicklesworthstone/tap/bv -# Or: go install github.com/Dicklesworthstone/beads_viewer/cmd/bv@latest -# Or: curl -fsSL https://raw.githubusercontent.com/Dicklesworthstone/beads_viewer/main/install.sh | bash -# Repository: https://github.com/Dicklesworthstone/beads_viewer +# Advanced TUI with graph analytics (Go) +# Install flow: setup.sh:2746-2847 (setup_beads_ui → bv) @@ -# bv - Advanced TUI (beads_viewer) -bv # Interactive mode -bv --robot-triage # Agent mode: triage overview -bv --robot-next # Agent mode: next task to work on +# bv - Advanced TUI (beads_viewer) +# Usage reference: setup.sh:2746-2847 or a dedicated bv subagent (if available)As per coding guidelines, Apply progressive disclosure pattern by using pointers to subagents rather than including inline content in agent documentation; Include code examples only when authoritative; use
file:linereferences to point to actual implementation instead of inline code snippets.Also applies to: 187-190
🧹 Nitpick comments (1)
setup.sh (1)
2791-2799: Consider preferring Homebrew for safer installation, or document the supply-chain riskThe
curl | bashpattern introduces supply-chain risk. The upstreambeads_viewerrepository does not publish checksums or signed releases, making the suggested checksum verification impractical. Instead:
- Preferred: Use Homebrew (
brew install dicklesworthstone/tap/bv) or Scoop on Windows for signed, verified packages- If fallback script is necessary: Document the trade-off to end users; the upstream itself recommends this pattern in their official docs, accepting the risk in exchange for convenience
The current implementation aligns with upstream practice but lacks a user-facing security notice about this trade-off.



Summary
bv(beads_viewer) installation in setup.sh - was trying to install non-existentbeads-viewerpip packagebvis a Go tool installed via Homebrew, not a Python packageChanges
setup.sh.agent/tools/task-management/beads.mdTesting
brew tap dicklesworthstone/tap && brew install dicklesworthstone/tap/bvworksSummary by CodeRabbit
Documentation
Chores