* 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.
99 lines
1.4 KiB
Plaintext
99 lines
1.4 KiB
Plaintext
# Binaries
|
|
/beads
|
|
/bd
|
|
*.exe
|
|
*.dll
|
|
*.so
|
|
*.dylib
|
|
|
|
# Test binaries
|
|
*.test
|
|
*.out
|
|
/bd-test
|
|
|
|
# Go workspace file
|
|
go.work
|
|
|
|
# Go build cache
|
|
pkg/
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# Claude Code
|
|
.claude/settings.local.json
|
|
|
|
# OS
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# SQLite databases (now using JSONL as source of truth)
|
|
*.db
|
|
*.db-journal
|
|
*.db-wal
|
|
*.db-shm
|
|
|
|
# Daemon runtime files
|
|
.beads/daemon.log
|
|
.beads/daemon.pid
|
|
.beads/daemon.lock
|
|
.beads/bd.sock
|
|
.beads/.exclusive-lock
|
|
|
|
# .beads directory files (keep JSONL only)
|
|
.beads/.gitignore
|
|
.beads/db.sqlite
|
|
.beads/bd.db
|
|
|
|
# Keep JSONL exports (source of truth for git)
|
|
!.beads/*.jsonl
|
|
|
|
# 3-way merge snapshot files (local-only, for deletion tracking)
|
|
.beads/beads.base.jsonl
|
|
.beads/beads.left.jsonl
|
|
.beads/beads.base.meta.json
|
|
.beads/beads.left.meta.json
|
|
|
|
# Git merge driver temp files (created during conflicts with numbered extensions)
|
|
.beads/*.json[0-9]
|
|
.beads/*.jsonl[0-9]
|
|
|
|
# Ignore nix result
|
|
result
|
|
|
|
# GoReleaser build artifacts
|
|
dist/
|
|
Formula/bd.rb
|
|
|
|
# Git worktrees
|
|
.worktrees/
|
|
.beads/pollution-backup.jsonl
|
|
|
|
# npm package - exclude downloaded binaries and archives
|
|
npm-package/bin/bd
|
|
npm-package/bin/*.tar.gz
|
|
npm-package/bin/*.zip
|
|
npm-package/bin/CHANGELOG.md
|
|
npm-package/bin/LICENSE
|
|
npm-package/bin/README.md
|
|
npm-package/node_modules/
|
|
npm-package/package-lock.json
|
|
.beads/beads.db?*
|
|
bd-original
|
|
mcp_agent_mail/
|
|
bd-test
|
|
bd-fixed
|
|
.cursor/
|
|
|
|
# Python cache files
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.so
|
|
.Python
|
|
.envrc
|