keelokit
AGENTS.md2 starsChanged 10 days agoMITView on GitHub
This repo is Keelokit itself: a Claude Code plugin and the Copier template it generates projects from. The projects' own agreement is template/AGENTS.md.jinja; don't mix the two. This repo runs on its own harness (.keelokit/, adopted 2026-09-28): docs/context/, backlog/, the doctor in CI, the guard in your Claude sessions. Once per clone, git config core.hooksPath .githooks turns on the git hooks (the guard before a commit, scripts/verify.sh before a push). /keelokit says where things stand; stories are built with /keelokit:build-story,…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository18 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- template/CLAUDE.mdCLAUDE.md
- build-storySkill
- check-bugbashSkill
- check-healthSkill
- check-securitySkill
- coordinateSkill
- harness-upgradeSkill
- keelokitSkill
- plan-backlogSkill
- plan-intakeSkill
- project-adoptSkill
- project-dashboardSkill
- project-newSkill
- project-reportSkill
- run-localSkill
- ship-releaseSkill
- ship-setupSkill
The file
We split this AGENTS.md into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 36
Read docs/releasing.md before anything that touches versions, tags or the release branch.
- Very specific: line 40
Never change version in .claude-plugin/plugin.json, push to release or create tags by hand.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Keelokit — working agreement for this repo
This repo is Keelokit itself: a Claude Code plugin and the Copier template it generates projects
from. The projects' own agreement is template/AGENTS.md.jinja; don't mix the two.
Layout
.claude-plugin/ plugin.json (name, version, description), marketplace.json, icon.svg
skills/ agents/ workflows/ hooks/ references/ the plugin
template/ copier.yml the project template (rendered from `template/`)
tests/ unit tests for the guard, doctor, dashboard, workflows and verify.sh's scope
scripts/ test-template.sh (generates projects and runs their checks), release.sh
docs/ design.md (how the pieces fit), releasing.md (how a version ships)Commands
| What | Command |
| Everything CI checks, locally (the pre-push hook runs it) | scripts/verify.sh |
| Guard, doctor, dashboard, workflow and verify tests | python3 -m unittest discover -s tests (test_verify.py needs pnpm, test_first_commit.py uv, the dashboard layout test playwright's Chromium) |
| Plugin manifests | claude plugin validate . --strict |
| A generated project, end to end | scripts/test-template.sh '["api","web"]' (see its header) |
Keelokit on Keelokit
This repo runs on its own harness (.keelokit/, adopted 2026-09-28): docs/context/, backlog/,
the doctor in CI, the guard in your Claude sessions. Once per clone, git config core.hooksPath
.githooks turns on the git hooks (the guard before a commit, scripts/verify.sh before a push).
/keelokit says where things stand; stories are built with /keelokit:build-story, one at a time.
None of this ships in the plugin: scripts/package.sh leaves it out.
Releases
Read docs/releasing.md before anything that touches versions, tags or the release branch.
In short:
- Work lands on
main. User-facing changes get a line under## UnreleasedinCHANGELOG.md. - Never change
versionin.claude-plugin/plugin.json, push toreleaseor create tags by hand. A release isscripts/release.sh X.Y.Z, and only when the user asks for one. - The Claude plugin directory tracks
releaseand scans the whole repo. A new scan finding gets a real fix or a line in the submission notes, never a rewording just to get past the scanner.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

