Add Claude settings location verification to rig add test
Verify that rig add creates settings.json in correct locations: - witness/.claude/settings.json (outside git repo) - refinery/.claude/settings.json (outside git repo) - crew/.claude/settings.json (shared, outside git repos) - polecats/.claude/settings.json (shared, outside git repos) Also verify settings are NOT created inside source repos (witness/rig/.claude, refinery/rig/.claude) which would pollute the source repos. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -254,6 +254,40 @@ func TestRigAddCreatesCorrectStructure(t *testing.T) {
|
||||
} else if info.IsDir() {
|
||||
t.Errorf("refinery/rig/.git should be a file (worktree), not a directory")
|
||||
}
|
||||
|
||||
// Verify Claude settings are created in correct locations (outside git repos).
|
||||
// Settings in parent directories are inherited by agents via directory traversal,
|
||||
// without polluting the source repos.
|
||||
expectedSettings := []struct {
|
||||
path string
|
||||
desc string
|
||||
}{
|
||||
{filepath.Join(rigPath, "witness", ".claude", "settings.json"), "witness/.claude/settings.json"},
|
||||
{filepath.Join(rigPath, "refinery", ".claude", "settings.json"), "refinery/.claude/settings.json"},
|
||||
{filepath.Join(rigPath, "crew", ".claude", "settings.json"), "crew/.claude/settings.json"},
|
||||
{filepath.Join(rigPath, "polecats", ".claude", "settings.json"), "polecats/.claude/settings.json"},
|
||||
}
|
||||
|
||||
for _, s := range expectedSettings {
|
||||
if _, err := os.Stat(s.path); err != nil {
|
||||
t.Errorf("%s not found: %v", s.desc, err)
|
||||
}
|
||||
}
|
||||
|
||||
// Verify settings are NOT created inside source repos (these would be wrong)
|
||||
wrongLocations := []struct {
|
||||
path string
|
||||
desc string
|
||||
}{
|
||||
{filepath.Join(rigPath, "witness", "rig", ".claude", "settings.json"), "witness/rig/.claude (inside source repo)"},
|
||||
{filepath.Join(rigPath, "refinery", "rig", ".claude", "settings.json"), "refinery/rig/.claude (inside source repo)"},
|
||||
}
|
||||
|
||||
for _, w := range wrongLocations {
|
||||
if _, err := os.Stat(w.path); err == nil {
|
||||
t.Errorf("%s should NOT exist (settings would pollute source repo)", w.desc)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TestRigAddInitializesBeads verifies that beads is initialized with
|
||||
|
||||
Reference in New Issue
Block a user