Steve Yegge
bd6dca507d
Remove orphaned TestFormatDependencyType test
...
The formatDependencyType function was removed in commit 57b6ea6 when
the dependency display UI was simplified. The test was left behind
and is now failing CI.
This completes the cleanup that was partially done in PR #309 .
2025-11-15 11:55:15 -08:00
Peter Loron
92f3af56c5
fix: Improve missing git hook message ( #306 )
...
Install hooks with 'bd hooks install' message added to bd doctor output.
Co-authored-by: Peter Loron <ploron@protonmail.com >
2025-11-15 11:53:38 -08:00
Straffern
2f83815ddd
Update vendorHash for Go module dependencies ( #313 )
2025-11-14 11:38:56 -08:00
David Laing
57b6ea606b
fix: add external_ref support to daemon mode RPC ( fixes #303 ) ( #304 )
...
Add external_ref field to CreateArgs and UpdateArgs RPC protocol
structs to enable linking issues to external systems (GitHub, Jira,
Shortcut, etc.) when using daemon mode.
Changes:
- Add ExternalRef field to rpc.CreateArgs and rpc.UpdateArgs
- Update bd create/update commands to pass external_ref via RPC
- Update daemon handlers to process external_ref field
- Add integration tests for create and update operations
The --external-ref flag now works correctly in both daemon and direct modes.
Fixes https://github.com/steveyegge/beads/issues/303
Generated with [Claude Code](https://claude.com/claude-code )
via [Happy](https://happy.engineering )
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Happy <yesreply@happy.engineering >
2025-11-13 12:01:27 -08:00
matt wilkie
0cba73bfc6
docs: don't auto-install Go in Windows installer; instruct user instead ( fixes #292 ) ( #302 )
2025-11-12 14:15:46 -08:00
dependabot[bot]
fee6ef2930
Bump pydantic from 2.12.0 to 2.12.4 in /integrations/beads-mcp ( #285 )
...
Bumps [pydantic](https://github.com/pydantic/pydantic ) from 2.12.0 to 2.12.4.
- [Release notes](https://github.com/pydantic/pydantic/releases )
- [Changelog](https://github.com/pydantic/pydantic/blob/v2.12.4/HISTORY.md )
- [Commits](https://github.com/pydantic/pydantic/compare/v2.12.0...v2.12.4 )
---
updated-dependencies:
- dependency-name: pydantic
dependency-version: 2.12.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 14:13:30 -08:00
dependabot[bot]
ff9642d049
Bump github.com/ncruces/go-sqlite3 from 0.29.1 to 0.30.1 ( #290 )
...
Bumps [github.com/ncruces/go-sqlite3](https://github.com/ncruces/go-sqlite3 ) from 0.29.1 to 0.30.1.
- [Release notes](https://github.com/ncruces/go-sqlite3/releases )
- [Commits](https://github.com/ncruces/go-sqlite3/compare/v0.29.1...v0.30.1 )
---
updated-dependencies:
- dependency-name: github.com/ncruces/go-sqlite3
dependency-version: 0.30.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 14:13:16 -08:00
dependabot[bot]
82f9d671e4
Bump pydantic-settings from 2.11.0 to 2.12.0 in /integrations/beads-mcp ( #286 )
...
Bumps [pydantic-settings](https://github.com/pydantic/pydantic-settings ) from 2.11.0 to 2.12.0.
- [Release notes](https://github.com/pydantic/pydantic-settings/releases )
- [Commits](https://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0 )
---
updated-dependencies:
- dependency-name: pydantic-settings
dependency-version: 2.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 13:52:08 -08:00
dependabot[bot]
f674b88935
Bump golangci/golangci-lint-action from 8 to 9 ( #287 )
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 8 to 9.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v8...v9 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-version: '9'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 13:52:05 -08:00
dependabot[bot]
1c6a652490
Bump golang.org/x/sys from 0.36.0 to 0.38.0 ( #288 )
...
Bumps [golang.org/x/sys](https://github.com/golang/sys ) from 0.36.0 to 0.38.0.
- [Commits](https://github.com/golang/sys/compare/v0.36.0...v0.38.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/sys
dependency-version: 0.38.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 13:52:03 -08:00
dependabot[bot]
48cd52bafb
Bump github.com/anthropics/anthropic-sdk-go from 1.16.0 to 1.17.0 ( #289 )
...
Bumps [github.com/anthropics/anthropic-sdk-go](https://github.com/anthropics/anthropic-sdk-go ) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/anthropics/anthropic-sdk-go/releases )
- [Changelog](https://github.com/anthropics/anthropic-sdk-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/anthropics/anthropic-sdk-go/compare/v1.16.0...v1.17.0 )
---
updated-dependencies:
- dependency-name: github.com/anthropics/anthropic-sdk-go
dependency-version: 1.17.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 13:52:00 -08:00
dependabot[bot]
6ea546bd3e
Bump github.com/google/go-cmp from 0.6.0 to 0.7.0 ( #291 )
...
Bumps [github.com/google/go-cmp](https://github.com/google/go-cmp ) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/google/go-cmp/releases )
- [Commits](https://github.com/google/go-cmp/compare/v0.6.0...v0.7.0 )
---
updated-dependencies:
- dependency-name: github.com/google/go-cmp
dependency-version: 0.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 13:51:56 -08:00
Steve Yegge
38792964a4
bd sync: 2025-11-12 12:46:43
2025-11-12 12:46:43 -08:00
Steve Yegge
f4a2f87aff
Fix #274 : Add automatic .beads/.gitignore upgrade ( #300 )
...
* Fix #274 : Add automatic .beads/.gitignore upgrade
Implements three mechanisms to ensure users get updated gitignore:
1. bd doctor --fix: Manually upgrade gitignore
2. Daemon auto-upgrade: Upgrades on startup if outdated
3. bd init idempotent: Safe to re-run, always updates gitignore
The gitignore template now lives in cmd/bd/doctor/gitignore.go
for consistent updates across all three mechanisms.
Fixes : #274
* Remove test binary
Amp-Thread-ID: https://ampcode.com/threads/T-7042cfcc-ac97-43d7-a40f-3fa1bb4e1c2b
Co-authored-by: Amp <amp@ampcode.com >
* Fix critical issues: remove merge artifact and apply gitignore template
- Remove .beads/beads.left.jsonl (merge artifact that shouldn't be committed)
- Apply new gitignore template to .beads/.gitignore (was missing patterns)
Amp-Thread-ID: https://ampcode.com/threads/T-7042cfcc-ac97-43d7-a40f-3fa1bb4e1c2b
Co-authored-by: Amp <amp@ampcode.com >
* bd sync: 2025-11-12 11:09:30
* Retrigger CI
Amp-Thread-ID: https://ampcode.com/threads/T-8d532264-6d5e-4b68-88e9-e4511851b64a
Co-authored-by: Amp <amp@ampcode.com >
* Fix duplicate DoctorCheck type definition
* Trigger CI after fixing type conflict
Amp-Thread-ID: https://ampcode.com/threads/T-8d532264-6d5e-4b68-88e9-e4511851b64a
Co-authored-by: Amp <amp@ampcode.com >
---------
Co-authored-by: Amp <amp@ampcode.com >
2025-11-12 12:46:27 -08:00
Steve Yegge
b53d74a1c8
Merge branch 'main' of github.com:steveyegge/beads
2025-11-12 10:57:38 -08:00
anansi
a020c6c7fe
Add uv prerequisite to Claude Code plugin documentation ( #293 )
2025-11-12 10:49:38 -08:00
Ryan
f7e80dd80c
feat: add context optimization features for AI agents ( #297 )
...
* feat: add bd prime and setup commands for AI agent integration
This commit consolidates context optimization features for AI agents:
## New Commands
**bd prime** - AI-optimized workflow context injection
- Outputs ~1-2k tokens of workflow context
- Context-aware: adapts to MCP vs CLI mode
- MCP mode: minimal reminders (~500 tokens)
- CLI mode: full command reference (~1-2k tokens)
- Warns against TodoWrite tool and markdown TODOs
- Designed for SessionStart/PreCompact hooks
**bd setup claude** - Claude Code integration installer
- Installs hooks via JSON configuration (not file scripts)
- Supports --project for project-only installation
- Supports --check to verify installation
- Supports --remove to uninstall hooks
- Idempotent (safe to run multiple times)
- Merges with existing settings
**bd setup cursor** - Cursor IDE integration installer
- Creates .cursor/rules/beads.mdc with workflow rules
- Simplified implementation (just overwrites file)
## bd doctor Enhancements
- New: CheckClaude() verifies Claude Code integration
- Detects plugin, MCP server, and hooks installation
- Provides actionable fix suggestions
- Extracted legacy pattern detection to doctor/legacy.go
- Detects JSONL-only mode and warns about legacy issues.jsonl
## Core Improvements
- FindBeadsDir() utility for cross-platform .beads/ discovery
- Works in JSONL-only mode (no database required)
- Sorted noDbCommands alphabetically (one per line for easy diffs)
## Testing
- Unit tests for setup command hook manipulation
- Tests for idempotency, adding/removing hooks
- All tests passing
## Documentation
- cmd/bd/doctor/claude.md - Documents why beads doesn't use Claude Skills
- commands/prime.md - Slash command for bd prime
- Fixed G304 gosec warnings with nosec comments
## Token Efficiency
The bd prime approach reduces AI context usage dramatically:
- MCP mode: ~500 tokens (vs ~10.5k for full MCP tool scan)
- CLI mode: ~1-2k tokens
- 80-99% reduction in standing context overhead
* fix: resolve linting errors in setup utils and remove obsolete test
- Add error check for tmpFile.Close() in setup/utils.go to fix golangci-lint G104
- Remove TestCheckMultipleJSONLFiles test that referenced deleted checkMultipleJSONLFiles function
Fixes golangci-lint errcheck violations introduced in the bd prime/setup feature.
2025-11-12 10:48:36 -08:00
dezer32
d9904a8830
Fix compact command failing with 'SQLite DB needed' error when daemon is running by removing premature store check and using ensureDirectMode for analyze/apply modes (closes beads-vlo) ( #294 )
2025-11-12 10:37:54 -08:00
Matteo Landi
9dff345e7a
Fix: Update DB mtime after import even with 0 changes ( #296 )
...
When bd import finds no changes (0 created, 0 updated), it now updates
the database modification timestamp to signal sync validation passed.
This fixes 'bd sync' refusing to export with 'JSONL is newer than database'
error that occurs after git pull updates JSONL mtime without content changes.
Root cause: Import validated DB/JSONL are in sync but didn't update DB mtime,
causing timestamp-based sync validation to perpetually fail.
Amp-Thread-ID: https://ampcode.com/threads/T-560b9c11-e368-45e6-b1e3-512b6d6010a1
Co-authored-by: Amp <amp@ampcode.com >
2025-11-12 10:37:32 -08:00
Steve Yegge
1deaad124f
Fix bd sync Windows upstream detection ( #281 )
...
Use git config instead of @{u} symbolic ref for better
compatibility with Git for Windows.
Fixes #281
2025-11-10 10:59:46 -08:00
Steve Yegge
6422d4fc6b
Update bd JSONL
2025-11-10 10:50:54 -08:00
Steve Yegge
8be792a460
Fix external_ref migration failure on old databases
...
The schema initialization was trying to create an index on the external_ref
column before the migration that adds the column runs. This caused 'no such
column: external_ref' errors when opening very old databases (pre-0.17.5).
Solution: Move the index creation into the migration that adds the column.
Fixes #284
Amp-Thread-ID: https://ampcode.com/threads/T-2744d5a7-168f-4ef6-bcab-926db846de20
Co-authored-by: Amp <amp@ampcode.com >
2025-11-10 10:50:39 -08:00
Steve Yegge
9e9db62954
Fix daemon exiting after 5s on macOS due to PID 1 parent monitoring (GH #278 )
...
Amp-Thread-ID: https://ampcode.com/threads/T-87e6732c-f7bf-4e8d-9ebc-f778ac6f0c40
Co-authored-by: Amp <amp@ampcode.com >
2025-11-10 10:22:03 -08:00
Steve Yegge
811eb46b03
Merge remote changes
...
Amp-Thread-ID: https://ampcode.com/threads/T-87e6732c-f7bf-4e8d-9ebc-f778ac6f0c40
Co-authored-by: Amp <amp@ampcode.com >
2025-11-10 10:21:46 -08:00
Steve Yegge
6d1c594c82
bd sync: 2025-11-10 10:21:27
2025-11-10 10:21:27 -08:00
Steve Yegge
b49f9b730e
File bd-77gm: Import command reports misleading count
...
Misleading '0 created, 0 updated' message when actually importing
all issues on fresh database. Discovered during VC database sync.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-09 16:26:35 -08:00
Steve Yegge
deaa463d29
Update bd JSONL
...
Amp-Thread-ID: https://ampcode.com/threads/T-5dad0ca8-ac77-4ae0-8de6-208b23ea47af
Co-authored-by: Amp <amp@ampcode.com >
2025-11-09 16:17:08 -08:00
Steve Yegge
4de9f015d6
Support local-only git repos without remote origin (bd-biwp)
...
- Add hasGitRemote() helper to detect if any remote exists
- Gracefully skip git pull/push when no remote configured
- Daemon now works in local-only mode (RPC, auto-flush, JSONL export)
- Add comprehensive test coverage for local-only workflows
- Fixes GH#279: daemon crash on repos without origin remote
Amp-Thread-ID: https://ampcode.com/threads/T-5dad0ca8-ac77-4ae0-8de6-208b23ea47af
Co-authored-by: Amp <amp@ampcode.com >
2025-11-09 16:16:45 -08:00
Steve Yegge
7a187cbf68
Add .envrc to .gitignore
...
The .envrc file is auto-generated by Agent Mail and contains
machine-specific environment variables (workspace paths, agent names).
It should not be committed to the repository.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-09 15:24:42 -08:00
Steve Yegge
23fce6ea49
fix: add version marker to post-checkout hook and include in CheckGitHooks
...
The post-checkout hook was missing the bd-hooks-version marker that the other
hooks have, and it wasn't being checked by CheckGitHooks(). This caused
version mismatch issues during hook status checks.
Changes:
- Added 'bd-hooks-version: 0.23.1' marker to post-checkout hook
- Updated CheckGitHooks() to include post-checkout in the list of hooks to check
This ensures all four git hooks (pre-commit, post-merge, pre-push, post-checkout)
have consistent version tracking.
Fixes bd-kb4g
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-09 14:58:03 -08:00
Steve Yegge
ad2154ba66
Fix prefix detection to only use first hyphen (bd-fasa)
...
- Changed ExtractIssuePrefix to use strings.Index (first hyphen)
- IDs like 'vc-baseline-test' now correctly use prefix 'vc'
- Fixes false prefix mismatch errors for hyphenated suffixes
- Added comprehensive tests for multi-part ID handling
2025-11-09 14:54:18 -08:00
Steve Yegge
83472aca3d
bd sync: 2025-11-09 14:53:59
2025-11-09 14:53:59 -08:00
Steve Yegge
d482d9ea6e
bd sync: 2025-11-09 14:13:48
2025-11-09 14:13:48 -08:00
Steve Yegge
052255a2e8
bd sync: 2025-11-09 12:55:37
2025-11-09 12:55:37 -08:00
Steve Yegge
1fc9bf629f
Fix parallel test deadlock by removing t.Parallel() from TestCLI_* tests
...
Tests now complete successfully without -short flag.
Also updated git hook templates to version 0.23.1.
Fixes bd-82dv
2025-11-09 12:55:14 -08:00
Yashwanth Reddy
8f37904c9c
Add auto-detection of issue prefix from git history ( #277 )
...
- Check existing JSONL issues before falling back to directory name on initialization
- Implement readFirstIssueFromJSONL() to extract prefix from first issue
- Added tests for readFirstIssueFromJSONL
2025-11-09 11:22:12 -08:00
Steve Yegge
77dcf5595c
Fix Homebrew formula update in release workflow
2025-11-08 23:14:43 -08:00
Steve Yegge
77ba8b1c56
Add go.mod to go-agent example to fix goreleaser
2025-11-08 23:10:53 -08:00
Steve Yegge
b02743c5ba
chore: Bump version to 0.23.1
...
Updated all component versions:
- bd CLI: 0.23.0 → 0.23.1
- Plugin: 0.23.0 → 0.23.1
- MCP server: 0.23.0 → 0.23.1
- npm package: 0.23.0 → 0.23.1
- Documentation: 0.23.0 → 0.23.1
Generated by scripts/bump-version.sh
2025-11-08 22:59:00 -08:00
Steve Yegge
b56527d101
Use -short flag in release.sh to avoid test deadlock (bd-82dv)
2025-11-08 22:58:43 -08:00
Steve Yegge
98f2e85618
Fix version test error message assertion
2025-11-08 22:57:49 -08:00
Steve Yegge
05b9fb4808
Close bd-auf1
2025-11-08 22:48:20 -08:00
Steve Yegge
f015f45419
bd sync: 2025-11-08 22:47:57
2025-11-08 22:47:57 -08:00
Steve Yegge
9a280e0f60
Clean up snapshot files after successful merge (bd-auf1)
...
Amp-Thread-ID: https://ampcode.com/threads/T-15e8dbc1-4706-4640-883e-6830a8e79fe8
Co-authored-by: Amp <amp@ampcode.com >
2025-11-08 22:45:36 -08:00
Steve Yegge
0ecf94143c
bd sync: 2025-11-08 22:42:14
2025-11-08 22:42:14 -08:00
Steve Yegge
5e92720dc7
Merge branch 'main' of github.com:steveyegge/beads
2025-11-08 22:42:04 -08:00
Steve Yegge
0131eda09d
Optimize CLI tests with in-process testing (bd-ky74)
...
- Convert exec.Command() tests to in-process rootCmd.Execute()
- Achieve ~10x speedup (3.8s vs 40s for 17 tests)
- Add mutex serialization for thread safety
- Implement manual temp dir cleanup with retries
- Reset global state between tests to prevent contamination
- Keep TestCLI_EndToEnd for binary validation
2025-11-08 22:42:02 -08:00
Steve Yegge
75d91c665f
bd sync: Close bd-6221bdcd
2025-11-08 22:41:27 -08:00
Steve Yegge
7d17ad5d77
bd sync: 2025-11-08 19:33:18
2025-11-08 19:33:34 -08:00
Steve Yegge
4fd9e1c9cc
Add Go agent example with Agent Mail support
...
Amp-Thread-ID: https://ampcode.com/threads/T-b50a2f5e-cad0-43f0-b3ec-afe9bd5fa654
Co-authored-by: Amp <amp@ampcode.com >
2025-11-08 19:33:33 -08:00