fix(kyberforge): stop dotfiles-repo $HOME from shadowing user scope
new-agent.sh's walk-up checked for a .git directory before checking whether it had reached $HOME, so a dotfiles-managed home directory (e.g. `~/.git` from yadm or a bare-repo checkout) made `new-agent.sh <name> ~` silently resolve to project scope instead of user scope, writing .github/agents/ instead of ~/.copilot/agents/. Check the $HOME boundary before the .git check so it can no longer be shadowed. Found via post-implementation review of issue #89.
This commit is contained in:
@@ -211,6 +211,17 @@ teardown() {
|
||||
rm -rf "$FAKE_HOME"
|
||||
}
|
||||
|
||||
@test "user scope: \$HOME being a dotfiles .git repo does not shadow user scope" {
|
||||
FAKE_HOME="$(mktemp -d)"
|
||||
mkdir "$FAKE_HOME/.git"
|
||||
run env HOME="$FAKE_HOME" bash "$SCRIPT" my-agent "~"
|
||||
assert_success
|
||||
assert [ -f "$FAKE_HOME/.claude/agents/my-agent.md" ]
|
||||
assert [ -f "$FAKE_HOME/.copilot/agents/my-agent.agent.md" ]
|
||||
refute [ -d "$FAKE_HOME/.github" ]
|
||||
rm -rf "$FAKE_HOME"
|
||||
}
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Name validation
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user