BD_GUIDE.md generation was removed in125e36d5when bd onboard was simplified to output a minimal snippet pointing to bd prime. This commit: - Removes stale BD_GUIDE.md references from CLAUDE.md - Removes dead checkAndSuggestBDGuideUpdate() code from version_tracking.go - Removes BD_GUIDE.md from UNINSTALLING.md file list Closes #660 (already fixed in v0.30.7 viaf1380e8b) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
190 lines
3.9 KiB
Markdown
190 lines
3.9 KiB
Markdown
# Uninstalling Beads
|
|
|
|
This guide explains how to completely remove Beads from a repository.
|
|
|
|
## Quick Uninstall
|
|
|
|
Run these commands from your repository root:
|
|
|
|
```bash
|
|
# 1. Stop any running daemon
|
|
bd daemons killall
|
|
|
|
# 2. Remove git hooks installed by Beads
|
|
rm -f .git/hooks/pre-commit .git/hooks/post-merge .git/hooks/pre-push .git/hooks/post-checkout
|
|
|
|
# 3. Remove merge driver config
|
|
git config --unset merge.beads.driver
|
|
git config --unset merge.beads.name
|
|
|
|
# 4. Remove .gitattributes entry (if only contains beads config)
|
|
# Or manually edit to remove the beads line
|
|
rm -f .gitattributes
|
|
|
|
# 5. Remove .beads directory
|
|
rm -rf .beads
|
|
|
|
# 6. Remove sync worktree (if exists)
|
|
rm -rf .git/beads-worktrees
|
|
```
|
|
|
|
## Detailed Steps
|
|
|
|
### 1. Stop the Daemon
|
|
|
|
If a Beads daemon is running for this repository, stop it first:
|
|
|
|
```bash
|
|
bd daemons list # Check if daemon is running
|
|
bd daemons killall # Stop all daemons
|
|
```
|
|
|
|
### 2. Remove Git Hooks
|
|
|
|
Beads installs these hooks in `.git/hooks/`:
|
|
|
|
| Hook | Purpose |
|
|
|------|---------|
|
|
| `pre-commit` | Syncs JSONL before commits |
|
|
| `post-merge` | Imports changes after merges |
|
|
| `pre-push` | Syncs before pushing |
|
|
| `post-checkout` | Imports after branch switches |
|
|
|
|
To remove them:
|
|
|
|
```bash
|
|
rm -f .git/hooks/pre-commit
|
|
rm -f .git/hooks/post-merge
|
|
rm -f .git/hooks/pre-push
|
|
rm -f .git/hooks/post-checkout
|
|
```
|
|
|
|
**Note:** If you had custom hooks before installing Beads, check for `.backup` files:
|
|
```bash
|
|
ls .git/hooks/*.backup
|
|
```
|
|
|
|
Restore any backups if needed:
|
|
```bash
|
|
mv .git/hooks/pre-commit.backup .git/hooks/pre-commit
|
|
```
|
|
|
|
### 3. Remove Merge Driver Configuration
|
|
|
|
Beads configures a custom merge driver in your git config:
|
|
|
|
```bash
|
|
git config --unset merge.beads.driver
|
|
git config --unset merge.beads.name
|
|
```
|
|
|
|
### 4. Remove .gitattributes Entry
|
|
|
|
Beads adds a line to `.gitattributes` for JSONL merge handling:
|
|
|
|
```
|
|
.beads/issues.jsonl merge=beads
|
|
```
|
|
|
|
Either remove the entire file (if it only contains this line):
|
|
```bash
|
|
rm -f .gitattributes
|
|
```
|
|
|
|
Or edit it to remove just the beads line:
|
|
```bash
|
|
# Edit .gitattributes and remove the line containing "merge=beads"
|
|
```
|
|
|
|
### 5. Remove .beads Directory
|
|
|
|
The `.beads/` directory contains:
|
|
|
|
| File/Dir | Description |
|
|
|----------|-------------|
|
|
| `beads.db` | SQLite database with issues |
|
|
| `issues.jsonl` | Git-tracked issue data |
|
|
| `daemon.pid` | Running daemon PID |
|
|
| `daemon.log` | Daemon logs |
|
|
| `daemon.lock` | Lock file for daemon |
|
|
| `bd.sock` | Unix socket for daemon IPC |
|
|
| `config.yaml` | Project configuration |
|
|
| `metadata.json` | Version tracking |
|
|
| `deletions.jsonl` | Soft-deleted issues |
|
|
| `README.md` | Human-readable overview |
|
|
|
|
Remove everything:
|
|
```bash
|
|
rm -rf .beads
|
|
```
|
|
|
|
**Warning:** This permanently deletes all issue data. Consider backing up first:
|
|
```bash
|
|
cp .beads/issues.jsonl ~/beads-backup-$(date +%Y%m%d).jsonl
|
|
```
|
|
|
|
### 6. Remove Sync Worktree
|
|
|
|
If you used branch sync features, clean up the worktree:
|
|
|
|
```bash
|
|
rm -rf .git/beads-worktrees
|
|
```
|
|
|
|
### 7. Commit the Removal (Optional)
|
|
|
|
If `.beads/` was tracked in git, commit its removal:
|
|
|
|
```bash
|
|
git add -A
|
|
git commit -m "Remove beads issue tracking"
|
|
git push
|
|
```
|
|
|
|
## Uninstalling the `bd` Binary
|
|
|
|
The `bd` command itself is a standalone binary. Remove it based on how you installed:
|
|
|
|
**If installed via go install:**
|
|
```bash
|
|
rm $(which bd)
|
|
# Or: rm ~/go/bin/bd
|
|
```
|
|
|
|
**If installed manually:**
|
|
```bash
|
|
# Remove from wherever you placed it
|
|
rm /usr/local/bin/bd
|
|
```
|
|
|
|
## Verify Complete Removal
|
|
|
|
Run these checks to confirm Beads is fully removed:
|
|
|
|
```bash
|
|
# Should show "command not found" or be a different bd
|
|
which bd
|
|
|
|
# Should not exist
|
|
ls .beads/
|
|
|
|
# Should not contain beads hooks
|
|
ls .git/hooks/
|
|
|
|
# Should not have merge driver
|
|
git config --get merge.beads.driver
|
|
|
|
# No .gitattributes or no beads line
|
|
cat .gitattributes
|
|
```
|
|
|
|
## Re-installing Later
|
|
|
|
To set up Beads again in the future:
|
|
|
|
```bash
|
|
bd init
|
|
```
|
|
|
|
This will recreate the `.beads/` directory, install hooks, and configure the merge driver.
|