- Renamed config.json to metadata.json to clarify purpose (database metadata)
- Fixed config.yaml/config.json conflict by making Viper explicitly load only config.yaml
- Added automatic migration from config.json to metadata.json on first read
- Fixed jsonOutput variable shadowing across 22 command files
- Updated bd init to create both metadata.json and config.yaml template
- Fixed 5 failing JSON output tests
- All tests passing
Resolves config file confusion and makes config.yaml work correctly.
Closes#178 (global flags), addresses config issues from #193
Amp-Thread-ID: https://ampcode.com/threads/T-e6ac8192-e18f-4ed7-83bc-4a5986718bb7
Co-authored-by: Amp <amp@ampcode.com>
- Remove duplicate computeIssueContentHash from sqlite/hash.go
- Remove FileUsed() from internal/config/config.go
- Remove verifyIssueOpen() test helper from git_sync_test.go
- Remove unimplemented SummarizeTier2 and all tier2 infrastructure from haiku.go
Removes ~120 LOC of dead code identified by deadcode analyzer.
Amp-Thread-ID: https://ampcode.com/threads/T-5f150c35-8d67-4dae-bb92-a7b5887d649d
Co-authored-by: Amp <amp@ampcode.com>
- Increase flush debounce from 1s to 30s (provides transaction window for batch operations)
- Increase daemon poll from 2s to 5s (reduces commit spam)
- Agents should run 'bd sync' at end of session to force immediate commit
- Prevents creating dozens of commits when making multiple issue changes
- Reduce flush debounce from 5s to 1s (BEADS_FLUSH_DEBOUNCE)
- Reduce daemon poll interval from 10s to 2s
- Makes issue changes sync much faster to JSONL and git
Allow setting issue prefix via config.yaml that works independently
of --no-db mode. This provides a consistent way to set the prefix
across the entire repository.
Precedence order:
1. --prefix flag (highest)
2. issue-prefix in config.yaml
3. .beads/nodb_prefix.txt (no-db mode only)
4. Auto-detect from directory name (lowest)
Changes:
- Add issue-prefix to config defaults in internal/config/config.go
- Update cmd/bd/init.go to read from config before auto-detecting
- Update cmd/bd/nodb.go detectPrefix to check config.yaml
- Update .beads/config.yaml with documentation and example
Usage:
# .beads/config.yaml
issue-prefix: "myproject"
# Or via environment variable
BD_ISSUE_PREFIX=myproject bd init
This makes the prefix setting repository-scoped and automatically
respected by bd init in both normal and no-db modes.
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
This allows users to set --no-db mode persistently via:
1. .beads/config.yaml file (no-db: true)
2. BD_NO_DB environment variable
3. --no-db command-line flag (highest precedence)
Changes:
- Add no-db to config defaults in internal/config/config.go
- Wire no-db flag to read from config in cmd/bd/main.go
- Create example .beads/config.yaml with documentation
The configuration precedence is:
CLI flag > Environment variable > Config file > Default
This makes no-db mode repository-scoped and automatically
respected by all bd commands and the beads-mcp service.
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
- Changed file permissions from 0644 → 0600 for JSONL exports and config files
- Changed directory permissions from 0755 → 0750 in all test code
- Updated .golangci.yml with proper exclusions for false positives
- Reduced gosec warnings from 102 to 22 (all remaining are acceptable)
Closes bd-57
Amp-Thread-ID: https://ampcode.com/threads/T-f754d957-9e42-4e74-861e-57235c7e6436
Co-authored-by: Amp <amp@ampcode.com>