From 9d1ac4cc4969dc82923ecbbc6fc80aae8a1d5b19 Mon Sep 17 00:00:00 2001 From: Michael Laccetti Date: Mon, 12 Oct 2026 16:08:50 -0400 Subject: [PATCH] fix: create harness settings dirs before link state files. Fresh agy/claude installs had no antigravity-cli or settings parent when writing .muster-link.json. --- internal/link/agy_settings.go | 6 +++--- internal/link/claude_settings.go | 6 +++--- internal/link/link_test.go | 5 ++++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/internal/link/agy_settings.go b/internal/link/agy_settings.go index 8abbd75..b5547e4 100644 --- a/internal/link/agy_settings.go +++ b/internal/link/agy_settings.go @@ -39,6 +39,9 @@ func setAgyDefaultAgent(settingsPath, statePath string, dryRun bool) error { if previous == orchestratorAgentName { return nil } + if err := os.MkdirAll(filepath.Dir(settingsPath), 0o755); err != nil { + return err + } state := agyLinkState{PreviousAgent: previous} stateBytes, err := json.MarshalIndent(state, "", " ") if err != nil { @@ -53,9 +56,6 @@ func setAgyDefaultAgent(settingsPath, statePath string, dryRun bool) error { return err } out = append(out, '\n') - if err := os.MkdirAll(filepath.Dir(settingsPath), 0o755); err != nil { - return err - } return os.WriteFile(settingsPath, out, 0o644) } diff --git a/internal/link/claude_settings.go b/internal/link/claude_settings.go index ab8355e..792ebfd 100644 --- a/internal/link/claude_settings.go +++ b/internal/link/claude_settings.go @@ -85,6 +85,9 @@ func setClaudeDefaultAgent(settingsPath, statePath, agentName string) error { if previous == agentName { return nil } + if err := os.MkdirAll(filepath.Dir(settingsPath), 0o755); err != nil { + return err + } state := claudeLinkState{PreviousAgent: previous} stateBytes, err := json.MarshalIndent(state, "", " ") if err != nil { @@ -99,9 +102,6 @@ func setClaudeDefaultAgent(settingsPath, statePath, agentName string) error { return err } out = append(out, '\n') - if err := os.MkdirAll(filepath.Dir(settingsPath), 0o755); err != nil { - return err - } return os.WriteFile(settingsPath, out, 0o644) } diff --git a/internal/link/link_test.go b/internal/link/link_test.go index 8e767bc..ae60481 100644 --- a/internal/link/link_test.go +++ b/internal/link/link_test.go @@ -68,7 +68,6 @@ func TestLinkGlobalCodexCursorAgy(t *testing.T) { t.Setenv("HOME", home) t.Setenv("MUSTER_HOME", filepath.Join(home, "muster")) t.Setenv("CODEX_HOME", filepath.Join(home, ".codex")) - _ = os.MkdirAll(filepath.Join(home, ".gemini", "antigravity-cli"), 0o755) kitDir, err := kit.Install() if err != nil { @@ -102,6 +101,10 @@ func TestLinkGlobalCodexCursorAgy(t *testing.T) { if _, err := os.Stat(agyAgent); err != nil { t.Fatal(err) } + agySettings := filepath.Join(home, ".gemini", "antigravity-cli", "settings.json") + if _, err := os.Stat(agySettings); err != nil { + t.Fatal(err) + } } func TestLinkAllWithoutGlobalPaths(t *testing.T) {