From 2bc53022efb2fdcfe53a217d69fe251bd4669014 Mon Sep 17 00:00:00 2001 From: Rudy Celekli Date: Sun, 27 Sep 2026 23:39:04 -0400 Subject: [PATCH] fix(installer): honor --path for Aider roster --- scripts/install.sh | 4 +++- scripts/test-install.sh | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/scripts/install.sh b/scripts/install.sh index 50f46893..c2bc98cf 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -946,8 +946,10 @@ install_cursor() { install_aider() { local src="$INTEGRATIONS/aider/CONVENTIONS.md" - local dest="${PWD}/CONVENTIONS.md" + local dest_dir; dest_dir="$(resolve_dest aider "$PWD")" + local dest="$dest_dir/CONVENTIONS.md" [[ -f "$src" ]] || { err "integrations/aider/CONVENTIONS.md missing. Run convert.sh first."; return 1; } + mkdir -p "$dest_dir" if [[ -f "$dest" ]]; then # Never overwrite: CONVENTIONS.md is aider's own user-authored file, and the # one sitting here may well be the reader's rather than ours. But the guard diff --git a/scripts/test-install.sh b/scripts/test-install.sh index 769fb361..6bf78deb 100755 --- a/scripts/test-install.sh +++ b/scripts/test-install.sh @@ -161,6 +161,20 @@ assert_eq 0 "$(find "$home" -type f | wc -l | tr -d ' ')" "--dry-run creates no echo "" echo "destinations" +home="$(sandbox aider-path)" +project="$home/project" +dest="$home/custom-dir" +mkdir -p "$project" +RUN_OUT="$(cd "$project" && HOME="$home" "$INSTALL" --no-interactive --tool aider --path "$dest" 2>&1)"; RUN_STATUS=$? +assert_eq 0 "$RUN_STATUS" "Aider --path install exits 0" +[[ -f "$dest/CONVENTIONS.md" ]] && pass "Aider --path installs into the selected directory" \ + || fail "Aider --path installs into the selected directory" +[[ ! -e "$project/CONVENTIONS.md" ]] && pass "Aider --path leaves the project root untouched" \ + || fail "Aider --path leaves the project root untouched" +printf 'My conventions\n' > "$dest/CONVENTIONS.md" +RUN_OUT="$(cd "$project" && HOME="$home" "$INSTALL" --no-interactive --tool aider --path "$dest" 2>&1)"; RUN_STATUS=$? +assert_eq 'My conventions' "$(cat "$dest/CONVENTIONS.md")" "Aider --path preserves an existing conventions file" + home="$(sandbox default-dest)" run_install "$home" --tool claude-code assert_eq "$TOTAL_AGENTS" "$(count_md "$home/.claude/agents")" \