feat(#609): ship default AGENTS.md in scaffold - #680
Conversation
Add a default AGENTS.md to the scaffold with baseline behavioral guidelines (think before acting, simplicity first, surgical changes, goal-driven execution). The WorkflowsLayer deploys it to the org's .fullsend repo. Update fullsend run to inject the org-level AGENTS.md into the target repo workspace when the repo doesn't have its own. The injected file is hidden from git status via .git/info/exclude so agents don't accidentally stage it. Closes #609 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Review: #680Head SHA: 9d3a31b SummaryThis PR adds a default FindingsMedium
Low
FooterOutcome: comment-only |
Addresses review feedback: the "stop reading this file if CLAUDE.md exists" instruction was a bypass vector — an attacker could include a subtle CLAUDE.md in their PR branch to skip org-level guardrails. Runtime injection logic already handles precedence. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
AGENTS.mdto the scaffold with baseline behavioral guidelines (think before acting, simplicity first, surgical changes, goal-driven execution)fullsend runto inject the org-levelAGENTS.mdinto the target repo workspace when the repo doesn't have its own, hidden fromgit statusvia.git/info/excludehasAgentsMD()helper with tests covering all common casingsTest plan
make lintpassesmake go-testpasseshasAgentsMD()cover uppercase, lowercase, title case, missing, and unrelated filesAGENTS.mdto.fullsendrepo during installAGENTS.mdwhen target repo has noneAGENTS.mdtakes precedence over org-level defaultCloses #609
🤖 Generated with Claude Code