chore(rtk): AGENTS.md as the shared instruction file - #32
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adopts getzazu/app#4104:
AGENTS.mdbecomes the single project-instructionfile, read directly by Cursor, Copilot, Codex and any other AI tool; Claude
Code now reaches it through a
CLAUDE.mdstub (@AGENTS.md).CLAUDE.md(124 lines: Tech Stack, CriticalRules, Commands, Slash Commands, Architecture, the mental model, Model
tiers, Testing, Release & docs deploy, More Documentation) into
AGENTS.md,product rules first. Merged in the old
AGENTS.md's two workflow sections("Change the gem", "Write a docs page") — the "Change the gem" bullets
duplicated the Critical Rules verbatim and were dropped (no rule lost); the
docs-page workflow is unique and kept in full.
CLAUDE.mdis now a 6-line stub in zazu's shape (@AGENTS.mdimportdocs/AGENTS.md(its own<!-- BEGIN docs-kit -->block, auto-managed bydocs_kit:install) is untouched —the repo's root
AGENTS.mdhas no docs-kit block of its own, so there wasnothing to preserve byte-for-byte there.
.claude/that meant "the project rules" and saidCLAUDE.md:.claude/README.md(x2),.claude/SKILL_TEMPLATE.md(x1),.claude/commands/github-review-comments.md(x3),.claude/commands/plan.md(x2). No
.github/copilot-instructions.mdexists. The gemspec'ss.filesalready ships only
exe/,lib/,app/,config/,CHANGELOG.md,LICENSE.txt,README.md— neitherCLAUDE.mdnorAGENTS.mdwas everpackaged, so no change there. No
.gitattributes/.npmignorein this repo.AGENTS.md(forms arevisual: rendered
Forms::/PhlexForms::markup in both themes, and thedocs/site), trimmed to this repo's terms — capture withagent-browser screenshotagainstdocs/(bin/dev) or a spec-renderedpage.
.rtk/filters.tomladded. Every verification command this repodocuments and actually runs (
bundle exec rspec,bundle exec rubocop lib spec/bundle exec rubocop,bin/rspec) is already rewritten bythe global PreToolUse hook (checked with
rtk hook check).bin/releasealready produces hand-curated, low-noise output (colored step markers) and
has release/push side effects, so it wasn't run.
docs/bin/cianddocs/bin/brakemanexist but aren't part of any documented workflow here(root CI only runs rubocop + rspec; brakeman only shows up inside the
docs Rails app's own default CI script, which nothing in
AGENTS.md,the Rakefile, or
README.mdtells an agent to run). A fake filter isworse than none, so I added the rtk usage note to
AGENTS.md's Commandssection without the filter-file sentence, as the brief allows.
Test plan
rtk trust --yes(no-op: no.rtk/filters.toml) +rtk verify— 154/154 rtk-internal tests pass, hook registeredrtk hook checkonbundle exec rspec,bundle exec rubocop lib spec,bin/rubocop,brakeman,bin/release,rake release[...],gem build --strict,docs/bin/ci,docs/bin/rubocop,docs/bin/brakemanto confirm what the global hook already covers before deciding no project filter was neededbundle exec rubocopnot run (docs/config only)git statusclean after commit; docs/AGENTS.md and all other nested files untouchedSummary by cubic
Makes
AGENTS.mdthe single source of project instructions for all AI tools: the full brief moves out ofCLAUDE.md, which becomes a short stub that importsAGENTS.md. All.claudepointers to the project rules now referenceAGENTS.md.Migration
AGENTS.md; Claude Code loads it through the stub.AGENTS.md..rtk/filters.tomlwas added: the global PreToolUse hook already rewrites every documented verification command.docs/AGENTS.mdis untouched.Written for commit 0cc6890. Summary will update on new commits.