Commit Graph

4214 Commits

Author SHA1 Message Date
Josh Thomas
aa4da74fd1 Add opencode-beads to Community Tools section of README (#771) 2025-12-27 22:21:27 -08:00
Steve Yegge
35f8e197ee feat: add --parent flag to bd update for reparenting issues (bd-cj2e)
Allows reparenting issues to a different epic/parent:
  bd update bd-xyz --parent=bd-epic

Implementation:
- Add Parent field to UpdateArgs in protocol.go
- Handle reparenting in RPC handler (server_issues_epics.go)
- Add --parent flag to updateCmd with both daemon and direct mode support
- Remove old parent-child dependency before adding new one
- Pass empty string to remove parent entirely

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 22:17:24 -08:00
Steve Yegge
05d44503de bd sync: 2025-12-27 22:17:12 2025-12-27 22:17:12 -08:00
Steve Yegge
cd618f4115 bd sync: 2025-12-27 22:17:10 2025-12-27 22:17:10 -08:00
Steve Yegge
92f2e1db8b docs: add Database Redirects section to ADVANCED.md (bd-8x43)
Documents the .beads/redirect feature for sharing databases across
multiple clones, and the new `bd where` command for debugging.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 22:04:25 -08:00
Steve Yegge
aa99235a59 refactor: consolidate git context into single cached struct (bd-qph3)
Replaced 3 separate caches (isWorktree, mainRepoRoot, repoRoot) with a
single gitContext struct populated by one git call. This reduces git
subprocess calls from up to 4 down to 1 and simplifies ResetCaches().

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 21:49:52 -08:00
Steve Yegge
59fa2d8d10 bd sync: 2025-12-27 21:49:38 2025-12-27 21:49:38 -08:00
Steve Yegge
e1de09513c bd sync: 2025-12-27 21:44:52 2025-12-27 21:44:52 -08:00
Steve Yegge
7cd4a96847 bd sync: 2025-12-27 21:33:54 2025-12-27 21:33:54 -08:00
Steve Yegge
e72eb41e6f bd sync: 2025-12-27 21:33:33 2025-12-27 21:33:33 -08:00
Steve Yegge
bcc611b0b3 bd sync: 2025-12-27 21:27:50 2025-12-27 21:33:15 -08:00
Steve Yegge
ba1c9d6b17 feat: show redirect info in bd prime output (bd-kblo)
When beads is redirected (e.g., in Gas Town crew clones), bd prime now
shows a notice about the redirect. This helps agents understand why
they share issues with other clones.

CLI mode shows:
> ⚠️ **Redirected**: Local .beads → /path/to/target/.beads
> You share issues with other clones using this redirect.

MCP mode shows:
**Note**: Beads redirected to /path/to/target/.beads (shared with other clones)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 21:33:01 -08:00
Steve Yegge
aa3c4cb3eb feat: add 'bd where' command to show active beads location (bd-8x43)
Adds a new command that shows the active .beads directory path,
including redirect information for debugging. Supports --json output.

Example:
  bd where
  → /Users/stevey/gt/beads/mayor/rig/.beads
    (via redirect from /Users/stevey/gt/beads/crew/emma/.beads)
    prefix: bd
    database: /Users/stevey/gt/beads/mayor/rig/.beads/beads.db

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 21:27:44 -08:00
Steve Yegge
a326df945d bd sync: 2025-12-27 20:42:09 2025-12-27 20:42:18 -08:00
Steve Yegge
a737223b3c fix: doctor checks follow redirect for Gas Town support (bd-tvus)
Extended bd-tvus fix to all doctor check functions that access .beads/
directory. In Gas Town multi-clone setups, crew/polecat clones use
.beads/redirect files to point to the shared mayor/rig beads directory.

Doctor checks now use resolveBeadsDir() to follow these redirects:
- daemon.go: CheckDaemonStatus
- git.go: CheckSyncBranchConfig, FindOrphanedIssues, CheckOrphanedIssues
- installation.go: CheckMultipleDatabases, CheckPermissions
- integrity.go: CheckIDFormat, CheckDependencyCycles, CheckTombstones,
  CheckDeletionsManifest, CheckRepoFingerprint
- jsonl_integrity.go: CheckJSONLIntegrity
- legacy.go: CheckFreshClone
- maintenance.go: CheckStaleClosedIssues, CheckExpiredTombstones,
  CheckCompactionCandidates
- perf.go: RunPerformanceDiagnostics, CollectPlatformInfo
- validation.go: CheckMergeArtifacts, CheckOrphanedDependencies,
  CheckDuplicateIssues, CheckTestPollution, CheckChildParentDependencies,
  CheckGitConflicts
- version.go: CheckMetadataVersionTracking

Intentionally NOT changed (check local files):
- CheckInstallation: checks local .beads/ exists
- CheckUntrackedBeadsFiles: checks git tracking of local files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 20:41:57 -08:00
Steve Yegge
ac837bc22e bd sync: 2025-12-27 20:41:47 2025-12-27 20:41:47 -08:00
Steve Yegge
a1a36263a9 bd sync: 2025-12-27 20:19:21 2025-12-27 20:20:14 -08:00
Steve Yegge
fee0ce6ea1 bd sync: 2025-12-27 19:56:26 2025-12-27 20:20:14 -08:00
Steve Yegge
f9bbe8e8e0 fix(doctor): follow redirect when checking database (bd-tvus)
The bug was that doctor's database checks used the local .beads/beads.db
file directly, while import followed the redirect to the actual database.
This caused confusing output showing 0 issues when the actual database
had hundreds. Fixed by using resolveBeadsDir() in all database checks.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 20:20:06 -08:00
Steve Yegge
1db8379be6 chore: bump version to 0.39.0 2025-12-27 19:41:39 -08:00
Steve Yegge
a16447802c docs: prepare 0.39.0 changelog and version notes 2025-12-27 19:41:20 -08:00
Steve Yegge
a1b3552860 docs: make pinned status description more concise
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 19:21:21 -08:00
Steve Yegge
e23d7ddd78 docs: fix tombstone status description
Changed from "preserved for reference" to "suppresses resurrections"
which better reflects the actual purpose.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 19:21:02 -08:00
Steve Yegge
5e99aba587 bd sync: 2025-12-27 19:18:26 2025-12-27 19:18:26 -08:00
Steve Yegge
4a993d4a38 bd sync: 2025-12-27 19:14:17 2025-12-27 19:14:17 -08:00
Steve Yegge
2ad2dbbca1 docs: add Issue Statuses section to CLI_REFERENCE.md (bd-epww)
Document all 7 issue statuses:
- open, in_progress, blocked, deferred, closed, tombstone, pinned

The pinned status was previously undocumented but is used by Gas Town
for hook management and persistent work items.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 19:13:47 -08:00
Steve Yegge
f93068e1b0 docs: consolidate duplicate UI_PHILOSOPHY files (GH#745)
Kept the more comprehensive version (115 lines vs 58) and
renamed to match docs/ naming convention (SCREAMING_SNAKE_CASE).
2025-12-27 18:01:59 -08:00
matt wilkie
d3fe6b0f32 fix: lint errors and update Nix vendorHash
- Add nolint:unparam for readOnly param in sqlite_open.go
- Handle cmd.Help() error in wisp.go
- Handle rows.Close() error in migration 028
- Handle targetStore.Close() error in create.go
- Update Nix vendorHash for current dependencies

Cherry-picked from PR #769
2025-12-27 17:29:36 -08:00
matt wilkie
99f5e50a32 feat: Add 'bd orphans' command with DRY refactoring of orphan detection
Implements the 'bd orphans' command to identify issues referenced in commits
but still open in the database, and refactors to eliminate code duplication.

- Creates cmd/bd/orphans.go with Cobra command structure
- Identifies orphaned issues (referenced in git commits but still open/in_progress)
- Supports multiple output formats (human, JSON, detailed)
- Auto-close with --fix flag

DRY refactoring:
- Extracted FindOrphanedIssues() to cmd/bd/doctor/git.go as shared core logic
- Moved OrphanIssue type to cmd/bd/doctor/types.go
- Refactored CheckOrphanedIssues() to use FindOrphanedIssues()

Cherry-picked from PR #767

Co-authored-by: Amp <amp@ampcode.com>
2025-12-27 17:23:45 -08:00
Adam Spiers
d71601d98e docs: fix README and PLUGIN.md documentation issues (#763)
docs: fix README and PLUGIN.md documentation issues

- Clarify that bd ready shows issues ready to work on (#512)
- Update git hooks install command from deprecated script to bd hooks install (#513)
- Fix Claude Code plugin local install: use ./beads not ., clarify shell vs CC commands (#514)

Fixes #512, #513, #514
2025-12-27 17:20:00 -08:00
Steve Yegge
d0694e6171 docs: update documentation for CLI consolidation (bd-bxqv)
Update docs to reflect CLI command restructuring:
- migrate-tombstones → migrate tombstones
- bd quickstart is now hidden, point to docs/QUICKSTART.md
- Add CLI consolidation section to CHANGELOG.md
- Remove quickstart from command tables

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 16:21:08 -08:00
Steve Yegge
d77a697cee feat: add bd admin parent command for cleanup/compact/reset (bd-3u8m)
Move cleanup, compact, and reset commands under `bd admin` namespace.
Creates hidden aliases for backwards compatibility that show deprecation
notice when used.

- Create cmd/bd/admin.go with parent command
- Create cmd/bd/admin_aliases.go for hidden backwards-compat aliases
- Update cleanup.go, compact.go, reset.go to remove rootCmd.AddCommand
- Update all documentation to use `bd admin <cmd>` syntax

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 16:21:08 -08:00
Steve Yegge
2c82acd10b feat: integrate detect-pollution into bd doctor --check=pollution (bd-kff0)
- Add --check flag to doctor for specific check modes
- Add --check=pollution to run detailed pollution detection
- Add --clean flag to delete detected test issues
- Mark detect-pollution command as hidden (deprecated)
- Update fix messages to point to new doctor --check=pollution

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 16:20:12 -08:00
Steve Yegge
2810cf05cc refactor: relocate thanks command to bd info --thanks (bd-wb9g)
- Add --thanks flag to bd info command
- Make bd thanks a hidden command (deprecated but still works)
- Part of CLI consolidation effort (bd-9115)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 16:08:34 -08:00
Steve Yegge
1611f16751 refactor: remove unused bd pin/unpin/hook commands (bd-x0zl)
Analysis found these commands are dead code:
- gt never calls `bd pin` - uses `bd update --status=pinned` instead
- Beads.Pin() wrapper exists but is never called
- bd hook functionality duplicated by gt mol status
- Code comment says "pinned field is cosmetic for bd hook visibility"

Removed:
- cmd/bd/pin.go
- cmd/bd/unpin.go
- cmd/bd/hook.go

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 16:02:15 -08:00
Steve Yegge
c8b912cbe6 bd sync: 2025-12-27 15:56:42 2025-12-27 15:56:42 -08:00
Steve Yegge
87f535a65e bd sync: 2025-12-27 14:48:16 2025-12-27 14:48:49 -08:00
Steve Yegge
3d927c8895 test: add ephemeral flag tests for spawnMolecule (bd-phin)
- Add TestSpawnMoleculeEphemeralFlag: verifies DB-based spawn
- Add TestSpawnMoleculeFromFormulaEphemeral: verifies formula-based spawn
- Both tests confirm Ephemeral flag is set correctly
- Tests also verify ephemeral issues excluded from ready work

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 14:48:37 -08:00
Steve Yegge
26785f9b46 refactor: remove bd mol catalog in favor of bd formula list (bd-ctmg)
- Delete mol_catalog.go (duplicate functionality)
- Update mol.go help text to point to bd formula list
- Update CLI_REFERENCE.md and MOLECULES.md docs
- Update deprecated template.go references

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 14:34:23 -08:00
Steve Yegge
cd9f8102dd bd sync: 2025-12-27 14:33:59 2025-12-27 14:33:59 -08:00
Steve Yegge
2e7b993a88 feat: add --prefix flag for cross-rig issue creation
Adds --prefix as a forgiving alias to --rig flag. Accepts:
- Exact prefix: bd-, gt-
- Prefix without hyphen: bd, gt
- Rig name: beads, gastown

All resolve to the correct rig via routes.jsonl lookup.
This matches agents' mental model of prefix-based routing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 14:26:00 -08:00
Steve Yegge
a9d082e050 bd sync: 2025-12-27 01:09:55 2025-12-27 01:09:55 -08:00
Steve Yegge
2f3877a267 fix: add macOS codesigning to bump-version.sh --install
Without codesigning, the binary gets 'Killed: 9' on macOS due to
Gatekeeper security. This adds xattr -cr and codesign -f -s - after
building and after each copy to install locations.
2025-12-27 00:58:59 -08:00
Steve Yegge
1d4933e841 chore: bump version to v0.38.0 2025-12-27 00:45:40 -08:00
Steve Yegge
21f307de89 feat: add --rig flag for cross-rig issue creation (bd-4nzq)
Adds --rig flag to bd create that allows creating issues in a different
rig without having to cd to that directory.

Example: bd create --rig beads --title='Bug report'

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 00:44:39 -08:00
Steve Yegge
7de19223b0 bd sync: 2025-12-27 00:34:21 2025-12-27 00:34:33 -08:00
Steve Yegge
3d6fde90ea bd sync: 2025-12-26 23:47:52 2025-12-27 00:34:33 -08:00
Steve Yegge
45cf47b5f4 Merge pull request #753 from rsnodgrass/bd-improvements
feat: add database corruption recovery and sync backoff
2025-12-27 00:17:47 -08:00
Steve Yegge
05304e3ab1 Merge origin/main, fix test git init for modern git 2025-12-27 00:17:36 -08:00
Steve Yegge
65287ef7ba Merge pull request #756 from maphew/fix/comments-in-show-command
Fix: Display comments in bd show command (#177)
2025-12-27 00:11:50 -08:00