Conversation
…late install-adapters.py wrote the generated agents block, which contains the absolute paths of the current machine, into adapters/generic/instructions.md. That file is tracked, so every 'sa install' (and every 'sa sync pull', which calls the installer) left the core repo dirty. A careless commit would publish a teammate's home path to the public repo. The generated block now goes to adapters/generic/instructions.local.md, matching the existing *.local.* convention, and is git-ignored. The tracked instructions.md keeps its $SHARED_AGENTS_HOME placeholders for reading on GitHub before a local install. Docs and the generic tool hint point at the generated file.
PR SummaryLow Risk Overview Generated copy-paste blocks now go to git-ignored Reviewed by Cursor Bugbot for commit 1d0082c. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 1d0082c. Configure here.
| generic = repo_home / "adapters" / "generic" / "instructions.md" | ||
| # Machine-specific output: absolute paths of THIS machine. Never the tracked | ||
| # template (adapters/generic/instructions.md), or every install dirties the repo. | ||
| generic = repo_home / "adapters" / "generic" / "instructions.local.md" |
There was a problem hiding this comment.
Uninstall deletes tracked template file
High Severity
uninstall-adapters.py still unlinks the tracked adapters/generic/instructions.md template instead of the new instructions.local.md output. sa uninstall --keep-repo therefore deletes the public template from the checkout and leaves the machine-specific file behind.
Reviewed by Cursor Bugbot for commit 1d0082c. Configure here.


Summary
install-adapters.pywrote the generated agents block intoadapters/generic/instructions.md. That file is tracked, and the generated block contains the absolute paths of the machine that ran the installer.sa sync pullcalls the installer too, so the core repo was left dirty after every session start on every machine. A carelessgit add -Awould publish a teammate's home path and username to this public repo.The generated block now goes to
adapters/generic/instructions.local.md, matching the existing*.local.*convention in.gitignore. The trackedinstructions.mdkeeps its$SHARED_AGENTS_HOMEplaceholders, which is what people read on GitHub before they have a local install.scripts/install-adapters.py: write toinstructions.local.md, plus a comment saying why the tracked template must stay untouched; the generic tool hint points at the generated file.gitignore: ignoreadapters/generic/instructions.local.mdadapters/generic/README.md: document both files and which is whichadapters/aider/README.md,docs/adapters.md: point at the generated fileTest plan
python3 scripts/install-adapters.py install "$PWD" --tools generic --non-interactivecreatesadapters/generic/instructions.local.mdwith the absolute paths of this machineadapters/generic/instructions.mdis unchanged after that rungit statusstays clean afterwards; the generated file does not show up as untrackedsa syncand confirm the repo stays clean🤖 Generated with Claude Code