npm-package/INTEGRATION_GUIDE.md
This guide shows the complete end-to-end setup for using bd (beads) in Claude Code for Web via the npm package.
Enable automatic issue tracking with bd in every Claude Code for Web session with zero manual setup.
Create the file .claude/hooks/session-start.sh in your repository:
#!/bin/bash
# Auto-install bd in every Claude Code for Web session
# Install bd globally from npm
npm install -g @beads/bd
# Initialize bd if not already done
if [ ! -d .beads ]; then
bd init --quiet
fi
# Show current work
echo ""
echo "š Ready work:"
bd ready --limit 5 || echo "No ready work found"
chmod +x .claude/hooks/session-start.sh
Add bd usage instructions to your AGENTS.md file:
## Issue Tracking with bd
This project uses bd (beads) for issue tracking. It's automatically installed in each session via SessionStart hook.
### Finding Work
```bash
# See what's ready to work on
bd ready --json | jq '.[0]'
# Get issue details
bd show <issue-id> --json
# Create a new issue
bd create "Task description" -t task -p 1 --json
# Create a bug
bd create "Bug description" -t bug -p 0 --json
# Start work (atomic claim)
bd update <issue-id> --claim
# Add a comment
bd comments add <issue-id> "Progress update"
# Close when done
bd close <issue-id> --reason "Description of what was done"
# Issue A blocks issue B
bd dep add <issue-b> <issue-a>
# Show dependency tree
bd dep tree <issue-id>
bd dep add --type discovered-frombd dolt push to push changes to the Dolt remote
### Step 4: Commit and Push
```bash
git add .claude/hooks/session-start.sh AGENTS.md
git commit -m "Add bd auto-install for Claude Code for Web"
git push
.claude/hooks/session-start.sh executes automaticallybd command is available, shows ready workTime: ~5-10 seconds
Same process, but:
bd init --quiet sets up Dolt and syncs existing dataTime: ~5-10 seconds
Agent: Starting new session...
System: Running SessionStart hook...
System: Installing bd v0.21.5...
System: ā bd installed successfully
System:
System: š Ready work:
System: bd-a1b2 [P1] Fix authentication bug
System: bd-f14c [P1] Add user profile page
System:
Agent: I can see there are 2 ready tasks. Let me work on bd-a1b2 (Fix authentication bug).
Agent: [runs] bd update bd-a1b2 --claim
Agent: While fixing bd-a1b2, I noticed the password reset flow is also broken.
Agent: [runs] bd create "Fix password reset flow" -t bug -p 1 --json
System: {"id": "bd-3e7a", ...}
Agent: [runs] bd dep add bd-3e7a bd-a1b2 --type discovered-from
Agent: I've filed bd-3e7a for the password reset issue and linked it to the current work.
Agent: I've fixed the authentication bug. Tests are passing.
Agent: [runs] bd close bd-a1b2 --reason "Fixed session validation logic. Added tests."
Agent: [runs] git add . && git commit -m "Fix authentication bug (bd-a1b2)"
Agent: Work completed. Ready for next task.
Install to project instead of global:
#!/bin/bash
# .claude/hooks/session-start.sh
# Install as project dependency
npm install --save-dev @beads/bd
# Use via npx
npx bd init --quiet
echo "Use 'npx bd' for all bd commands"
Only install if not already present:
#!/bin/bash
# .claude/hooks/session-start.sh
if ! command -v bd &> /dev/null; then
echo "Installing bd..."
npm install -g @beads/bd
else
echo "bd already available: $(bd version)"
fi
# Rest of setup...
Minimal output for cleaner logs:
#!/bin/bash
# .claude/hooks/session-start.sh
npm install -g @beads/bd --silent 2>&1 | grep -v "npm WARN"
bd init --quiet 2>&1 | grep -v "already initialized"
bd ready finds work instantly| Feature | bd Issues | Markdown TODOs |
|---|---|---|
| Dependencies | ā 4 types | ā None |
| Ready work detection | ā Automatic | ā Manual |
| Status tracking | ā Built-in | ā Manual |
| History/audit | ā Full trail | ā Git only |
| Queries | ā SQL-backed | ā Text search |
| Cross-session | ā Persistent | ā ļø Markdown only |
| Agent-friendly | ā JSON output | ā ļø Parsing required |
Cause: SessionStart hook didn't run or installation failed
Fix:
# Manually install
npm install -g @beads/bd
# Verify
bd version
Cause: bd init wasn't run
Fix:
bd init
Cause: Two sessions modified issues concurrently
Fix: Run bd dolt pull to resolve via Dolt's merge. See the main beads TROUBLESHOOTING.md for details.
Cause: Network latency downloading binary
Optimize:
# Use npm cache
npm config set cache ~/.npm-cache
# Or install as dependency (cached by package-lock.json)
npm install --save-dev @beads/bd
bd quickstart (interactive tutorial)Add this to your project's system prompt or AGENTS.md:
You have access to bd (beads) for issue tracking. It's automatically installed in each session.
WORKFLOW:
1. Start each session: Check `bd ready --json` for available work
2. Choose a task: Pick highest priority with no blockers
3. Start work: `bd update <id> --claim`
4. Work on it: Implement, test, document
5. File new issues: Create issues for any work discovered
6. Link issues: Use `bd dep add` to track relationships
7. Close when done: `bd close <id> --reason "what you did"`
8. Sync changes: Run `bd dolt push` at end of session
ALWAYS:
- Use --json flags for programmatic parsing
- Create issues proactively (don't let work be forgotten)
- Link related issues with dependencies
- Close issues with descriptive reasons
- Run `bd dolt push` at end of sessions
NEVER:
- Use markdown TODOs (use bd instead)
- Work on blocked issues (check `bd show <id>` for blockers)
- Close issues without --reason
- Forget to run `bd dolt push` at end of sessions
After setup, you should see:
ā
New sessions automatically have bd available
ā
Agents use bd for all issue tracking
ā
Issues persist across sessions via git
ā
Multiple agents can collaborate on same issues
ā
No manual installation required