Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Keel

A keel is what keeps a vessel upright and tracking straight. This is one AGENTS.md file that does the same for the assistants working in your repository — start a project with it and the help stays help instead of turning into volume.

Copy AGENTS.md into your repo, replace the project specifics section with what is true of yours, and you are done. You can also use this repository as a GitHub template, or fork it if you want to track changes as the file grows.

Saying you use it

If Keel is worth telling people about, the README is where they will see it, not the commit log. Paste this near the top of yours:

[![follows Keel](https://img.shields.io/badge/follows-Keel-1f6feb)](https://github.com/theomgdev/keel)

follows Keel

Nothing depends on it. The provenance that matters is already in your AGENTS.md, which says where its general half came from, and that is the file anyone debugging your project's habits will actually open.

Why one file, and why this name for it

AGENTS.md is read by most assistants and belongs to none of them. The alternative is what repositories are actually filling up with: a CLAUDE.md next to a CURSOR.md next to a GEMINI.md, each one noise to everyone using a different tool, all of them drifting out of sync with each other. One file is the contract. Everything vendor-specific stays local and gitignored, and this repo's .gitignore already does that for you.

The one rule

Maximise the value to garbage ratio. Its measurable form is that everything you write for a change — commit message, pull request body, comments, markdown — has to come out shorter than the code that change contains. Two lines of code do not get twenty lines of explanation. Along the time axis the same ratio reads as value over time, so an hour spent re-deriving something already known is garbage too.

Everything else in the file follows from that: keep diffs surgical, write the least code that solves the problem, say what you assumed instead of guessing quietly, never claim a test result you did not observe, remember that passing tests are not proof of correctness, and be able to defend the change without the model.

Where this comes from

Mostly not from taste. Nearly every rule traces to something maintainers are actually complaining about — the projects that closed bug bounties or started auto-closing outside pull requests, the research that named the three properties of slop, the measurements showing duplicated code and churn climbing. The file gets updated as that record grows, which is the maintenance this repository exists to do.

The file itself was written with LLM assistance, reviewed and owned by @theomgdev, and every commit here carries an Assisted-by: trailer saying so. A repository that asks for disclosure and does not practise it is not worth copying.

Sources

Contributing

If you have watched an assistant do something that wasted a reviewer's time and the file does not already cover it, open an issue or a pull request. Real complaints from real review queues are what this is built from. The file is also held to its own rule, so anything added has to earn its length.

License

MIT. Copy it, change it, ship it.

About

One AGENTS.md that keeps your AI assistants on course. Built around a single rule: the prose you write for a change never outweighs the code. Tool-agnostic, no CLAUDE.md/CURSOR.md sprawl.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors