Commit Graph

3817 Commits

Author SHA1 Message Date
Steve Yegge
c46b1a0bbb Add config-based close hooks (bd-g4b4)
Implements on_close hooks in .beads/config.yaml for automation and
notifications. Hooks receive issue data via environment variables
(BEAD_ID, BEAD_TITLE, BEAD_TYPE, BEAD_PRIORITY, BEAD_CLOSE_REASON)
and run via sh -c.

Changes:
- internal/config: Add HookEntry type and GetCloseHooks()
- internal/hooks: Add RunConfigCloseHooks() for executing config hooks
- cmd/bd: Call RunConfigCloseHooks after successful close
- docs/CONFIG.md: Document hooks configuration with examples

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 13:39:51 -08:00
Steve Yegge
bc0973bfa2 bd sync: close bd-4qfb 2025-12-23 13:39:03 -08:00
Steve Yegge
81181994eb Improve bd doctor output formatting for readability (bd-4qfb)
- Add --verbose/-v flag to show all checks including passed
- Show summary at top with counts (passed/warnings/errors)
- Default mode collapses passed checks with hint to use --verbose
- Group passed checks by category in verbose mode
- Errors shown first, then warnings, then passed
- Visual separators between sections

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 13:39:03 -08:00
Steve Yegge
ffa5de3181 Improve internal/beads test coverage from 48% to 80%
Add comprehensive tests for fingerprint.go:
- canonicalizeGitURL: URL normalization for HTTPS, SSH, SCP-style, HTTP, git protocol
- ComputeRepoID: With/without remote, not-git-repo, canonical URL consistency
- GetCloneID: Basic, different dirs, worktree, hostname inclusion

Add tests for beads.go:
- findDatabaseInBeadsDir: Direct tests for database discovery
- FindAllDatabases: Multi-database discovery, no-database, stops-at-first

Coverage: 48.4% → 80.2% (bd-tvu3)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 13:38:13 -08:00
Steve Yegge
7c4b0690e2 bd close bd-ykd9: doctor --fix feature already implemented
Feature verification showed full implementation:
- --fix flag for automatic repairs
- --yes/-y for non-interactive mode
- --interactive/-i for per-fix confirmation
- --dry-run for preview mode
- 20+ fixable issues supported
- Tests pass

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 13:36:58 -08:00
Steve Yegge
3053758db3 bd sync: 2025-12-23 13:36:29 2025-12-23 13:36:31 -08:00
Steve Yegge
68e3de92ee bd sync: 2025-12-23 13:10:23 2025-12-23 13:36:31 -08:00
Steve Yegge
bc169a70b4 bd sync: 2025-12-23 13:07:47 2025-12-23 13:36:31 -08:00
spm1001
e432fcc824 Enhance Claude Code skill with README and new reference files (#722)
Adds human-readable documentation and reference files to the beads Claude Code skill:

- README.md: Human-readable guide for installation and key concepts
- MOLECULES.md: Documents v0.34.0 molecules/wisps/protos features
- PATTERNS.md: Common usage patterns for closures, dependencies, work discovery
- TROUBLESHOOTING.md: Common issues and solutions
- INTEGRATION_PATTERNS.md: TodoWrite integration and temporal layering patterns

PR #722 by @spm1001
2025-12-23 13:33:18 -08:00
Ryan
297c696336 feat(doctor): add count-based database size check (#724)
feat(doctor): add count-based database size check

Adds CheckDatabaseSize (Check 29) that warns when closed issues exceed a configurable threshold (default: 5000). The check is informational only - no auto-fix since pruning is destructive.

Also improves fix guidance for sync-branch hook compatibility and legacy JSONL filename checks.

PR #724 by @rsnodgrass
2025-12-23 13:29:35 -08:00
Steve Yegge
c4ce191bb2 feat: add --resolution as alias for --reason on bd close (GH#721)
Jira CLIs use --resolution flag (go-jira, jira-cli). Adding this as a
hidden alias improves agent ergonomics - LLMs have a prior for this flag.

Follows same pattern as --body alias for --description (GitHub CLI).

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 13:16:18 -08:00
Steve Yegge
235dc570b2 Update Session End Checklist to use gt handoff (gt-yt6g)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 13:07:48 -08:00
Steve Yegge
7e7e0fbd4c Update Session End Checklist to use gt handoff (gt-yt6g)
Also fixed crew/zoey working directory path.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 13:07:31 -08:00
Steve Yegge
6cf998e294 bd sync: 2025-12-23 13:07:22 2025-12-23 13:07:22 -08:00
Steve Yegge
b172fa77fc bd sync: 2025-12-23 13:06:59 2025-12-23 13:06:59 -08:00
Steve Yegge
2f7570fd93 bd sync: 2025-12-23 13:06:35 2025-12-23 13:06:35 -08:00
Steve Yegge
c4242917a5 bd sync: 2025-12-23 13:06:12 2025-12-23 13:06:12 -08:00
Steve Yegge
9591143075 bd sync: 2025-12-23 13:05:48 2025-12-23 13:05:48 -08:00
Steve Yegge
6077c27208 bd sync: 2025-12-23 13:05:25 2025-12-23 13:05:25 -08:00
Steve Yegge
8f8994c881 bd sync: 2025-12-23 13:04:59 2025-12-23 13:04:59 -08:00
Steve Yegge
b354b4b90a bd sync: 2025-12-23 13:04:35 2025-12-23 13:04:35 -08:00
Steve Yegge
6da4d480f1 bd sync: 2025-12-23 13:04:11 2025-12-23 13:04:11 -08:00
Steve Yegge
624e7de3f9 bd sync: 2025-12-23 13:03:48 2025-12-23 13:03:48 -08:00
Steve Yegge
2975d22fad bd sync: 2025-12-23 13:03:25 2025-12-23 13:03:25 -08:00
Steve Yegge
8e2473c5c5 bd sync: 2025-12-23 13:03:01 2025-12-23 13:03:01 -08:00
Steve Yegge
f502f95e8e bd sync: 2025-12-23 12:44:13 2025-12-23 12:44:13 -08:00
Steve Yegge
1951fae138 bd sync: 2025-12-23 12:42:18 2025-12-23 12:42:33 -08:00
Steve Yegge
f2db0a1d42 fix: exclude external deps from orphan check in migration invariants (bd-ucgz)
External dependencies (external:<project>:<capability>) reference issues in
other projects and are expected to not exist in the local issues table.
The orphan check now excludes these with: AND d.depends_on_id NOT LIKE 'external:%'

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 12:42:13 -08:00
Steve Yegge
77ff8283fe bd sync: 2025-12-23 12:40:03 2025-12-23 12:40:03 -08:00
Steve Yegge
ad7473da0e bd sync: 2025-12-23 12:36:33 2025-12-23 12:36:33 -08:00
Steve Yegge
5f15dc49e3 bd sync: 2025-12-23 12:27:35 2025-12-23 12:27:35 -08:00
Steve Yegge
dc4423bd90 bd sync: 2025-12-23 12:24:43 2025-12-23 12:24:43 -08:00
Steve Yegge
7f2d4af302 bd sync: 2025-12-23 12:24:08 2025-12-23 12:24:08 -08:00
Steve Yegge
ceb8ba01c4 bd sync: 2025-12-23 12:19:49 2025-12-23 12:19:49 -08:00
Steve Yegge
5b56c07310 bd sync: 2025-12-23 12:13:41 2025-12-23 12:13:41 -08:00
Steve Yegge
87f16378bc bd sync: 2025-12-23 12:06:48 2025-12-23 12:07:04 -08:00
Steve Yegge
18d9848ec3 bd sync: 2025-12-23 11:39:18 2025-12-23 12:07:04 -08:00
Steve Yegge
47b86b35d8 feat: add gate issue type and CLI commands for async coordination (bd-udsi)
Add async gates - coordination primitives for agents to wait on external events
like CI completion, PR merges, timers, or human approval.

Changes:
- Add 'gate' issue type to types.go with gate-specific fields:
  - AwaitType: condition type (gh:run, gh:pr, timer, human, mail)
  - AwaitID: condition identifier
  - Timeout: max wait duration
  - Waiters: mail addresses to notify when gate clears
- Add SQLite migration 027_gate_columns for new fields
- Update all SQLite storage queries to handle gate fields
- Add bd gate commands: create, show, list, close, wait
- All commands support --json output and --no-daemon mode

Closes: bd-2v0f, bd-lz49, bd-u66e

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 12:06:42 -08:00
Steve Yegge
cfd412b2d7 feat: add --publish-npm and --publish-pypi flags to bump-version.sh
Adds manual publishing options for releases:
- --publish-npm: Publish @beads/bd to npm registry
- --publish-pypi: Publish beads-mcp to PyPI
- --publish-all: Shorthand for both

Note: CI already handles publishing automatically when tags are pushed.
These flags are for manual releases or when CI publishing fails.
2025-12-23 11:25:35 -08:00
Steve Yegge
117bdd637e fix: add nolint:misspell for SQL query with British spelling 2025-12-23 05:14:01 -08:00
Steve Yegge
8b49d8f079 fix: resolve golangci-lint errors
- Add _ = prefix for ignored Close/Remove return values
- Fix unused cmd parameter in runMoleculeReady
- Add nolint:misspell for intentional British "cancelled" spelling
- Update comments to use US spelling where not intentional

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 05:10:38 -08:00
Steve Yegge
fcf5e6aab6 chore: bump version to v0.35.0
Adds release notes for v0.35.0 including:
- Dynamic molecule bonding with --ref flag
- bd activity command for real-time state feed
- waits-for dependency type for fanout gates
- Parallel step detection for molecules
- bd list --parent flag
- Molecule navigation commands
- Performance indexes and bug fixes

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 04:58:19 -08:00
Steve Yegge
379f80d7f7 bd sync: 2025-12-23 04:58:04 2025-12-23 04:58:04 -08:00
Steve Yegge
0c14054a52 bd sync: 2025-12-23 04:49:44 2025-12-23 04:49:44 -08:00
Steve Yegge
90edbc41cc bd sync: 2025-12-23 04:49:14 2025-12-23 04:49:14 -08:00
Steve Yegge
f66f246546 bd sync: 2025-12-23 04:48:32 2025-12-23 04:48:32 -08:00
Steve Yegge
a097886b98 bd sync: 2025-12-23 04:47:20 2025-12-23 04:47:20 -08:00
Steve Yegge
064e9229ed bd sync: 2025-12-23 04:46:23 2025-12-23 04:46:23 -08:00
Steve Yegge
ee1dc988da bd sync: 2025-12-23 04:45:33 2025-12-23 04:45:33 -08:00
Steve Yegge
ee4750f606 bd sync: 2025-12-23 04:45:01 2025-12-23 04:45:01 -08:00