* 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>
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/steveyegge/beads/cmd/bd/doctor"
|
||||
"github.com/steveyegge/beads/internal/beads"
|
||||
"github.com/steveyegge/beads/internal/daemon"
|
||||
"github.com/steveyegge/beads/internal/rpc"
|
||||
@@ -308,6 +309,17 @@ func runDaemonLoop(interval time.Duration, autoCommit, autoPush bool, logPath, p
|
||||
defer func() { _ = store.Close() }()
|
||||
log.log("Database opened: %s", daemonDBPath)
|
||||
|
||||
// Auto-upgrade .beads/.gitignore if outdated
|
||||
gitignoreCheck := doctor.CheckGitignore()
|
||||
if gitignoreCheck.Status == "warning" || gitignoreCheck.Status == "error" {
|
||||
log.log("Upgrading .beads/.gitignore...")
|
||||
if err := doctor.FixGitignore(); err != nil {
|
||||
log.log("Warning: failed to upgrade .gitignore: %v", err)
|
||||
} else {
|
||||
log.log("Successfully upgraded .beads/.gitignore")
|
||||
}
|
||||
}
|
||||
|
||||
// Hydrate from multi-repo if configured
|
||||
hydrateCtx := context.Background()
|
||||
if results, err := store.HydrateFromMultiRepo(hydrateCtx); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user