fix(convert): prune stale tool output before regenerating (#605)

convert.sh overwrote per-agent output in place but never removed files for
agents that were renamed or deleted, so orphans accumulated in the gitignored
integrations/<tool>/ dirs (e.g. agency-security-engineer lingered in
antigravity/ and openclaw/ long after the source agent was gone) — and install.sh
would happily copy them.

Add clean_tool_output(), called once at the top of run_conversions (the single
choke point for serial, parallel, and single-file paths): it wipes the tool's
generated output but preserves the committed README.md (the only tracked file
under integrations/<tool>/ for conversion targets).

Verified: antigravity regenerated to 232 (was 233), orphan pruned, README kept.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Michael Sitarzewski
2026-06-22 01:38:43 -05:00
committed by GitHub
parent 48b5225986
commit 55beae93a7
+12
View File
@@ -528,10 +528,22 @@ HEREDOC
# --- Main loop ---
# Remove a tool's previously-generated output before regenerating, so renamed or
# deleted agents don't leave orphan files behind (convert.sh overwrites in place
# but never pruned stale output). Preserves the committed README.md — the only
# tracked file under integrations/<tool>/ for conversion targets.
clean_tool_output() {
local dir="$OUT_DIR/$1"
[[ -d "$dir" ]] || return 0
find "$dir" -mindepth 1 -maxdepth 1 ! -name 'README.md' -exec rm -rf {} +
}
run_conversions() {
local tool="$1"
local count=0
clean_tool_output "$tool"
for dir in "${AGENT_DIRS[@]}"; do
local dirpath="$REPO_ROOT/$dir"
[[ -d "$dirpath" ]] || continue