agentleFS
inclusionAIinclusionAI/Choruz/docs/AGENTS.md

Choruz

AGENTS.md1.1k starsChanged 18 days agoApache-2.0View on GitHub

How documentation is organised and written in this repository. AGENTS.md at the root holds the standing engineering rules; this file holds the ones about prose. The procedure for writing or auditing a page is choruz-doc; sentence-level judgement is choruz-prose-standard. Every fact has exactly one home. Everything else links to it. Placement: bugs and incidents go to a note or a runbook, rationale to notes, procedures to operations or a skill, definitions to the data model or a subsystem page, package…

The file

We split this AGENTS.md into the rules it gives an agent

3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Every fact has exactly one home.

    line 7
  2. Distinctive:

    One physical line per paragraph: Use editor soft-wrap; hard-wrapped prose makes diffs and greps unreadable.

    line 34
  3. Distinctive:

    Each section opens with a short orienting paragraph: before subsections or exhaustive detail.

    line 35

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

Documentation rules

How documentation is organised and written in this repository. AGENTS.md at the root holds the standing engineering rules; this file holds the ones about prose. The procedure for writing or auditing a page is choruz-doc; sentence-level judgement is choruz-prose-standard.

The tiers: one home per fact

Every fact has exactly one home. Everything else links to it.

TierHomeHoldsNever holds
Standing ordersAGENTS.mdOne to three lines per rule, linking its homeRationale, procedures
Platform protocolCLAUDE.mdHow an agent on Choruz talks to humans and agentsEngineering rules
Architecturearchitecture.mdThe ordered map of how the system works today, read before changing crates/, services/ or the pipelinePer-crate detail, history, status annotations
Subsystemssubsystems/One reference page per subsystem: what it owns, the data it moves, its entry points and invariantsCross-subsystem narrative (that is architecture)
Feature checklistadding-a-feature.mdThe extension point each horizontal concern of a new feature plugs into, one example each, what breaks when skippedThe seams' own contracts (those stay with their subsystem, the data model or the test policy)
Data modeldata-model.mdTables, ownership, workspace_id, sequencesMigration narration
Operationsoperations/Install, run, deploy, back up, SLO, runbookDesign rationale
Testingtesting/PR types and the tests they require, what CI runs, e2e conventionsTest walkthroughs
Defensive patternsdefensive-patterns.mdBug classes that shipped or nearly shipped here, as the rule that prevents eachWar stories
Decisions.agents/notes/Problem, decision, alternatives, consequencesCurrent-state reference
Skills.agents/skills/Repeatable procedures for agents and peopleProduct or runtime contracts
Contributor entryCONTRIBUTING.md, README.mdSetup, commands, layout, links into the tiersDuplicated rules
User docsapps/web/app/docs/The in-app documentation siteEngineering process
Package contractsa package's README.md, doc commentsConfig, semantics, failures, limitationsCross-package narrative

Placement: bugs and incidents go to a note or a runbook, rationale to notes, procedures to operations or a skill, definitions to the data model or a subsystem page, package contracts to the package README, standing orders to AGENTS.md with a link.

Writing rules

  • Document current state, not change history. No "previously", "now", "no longer", pull request numbers, or migration narration outside archive/ and a note's Consequences.
  • Classify every page as a tutorial or a reference. A tutorial orders concepts by prerequisite and ends in an observable outcome; a reference is exhaustive and skimmable. Split a page that tries to be both.
  • Test, do not assume. A command, flag, default, error or path appears in a page only after being run or read in the current checkout; delete what did not reproduce.
  • Link by relative path, never by bare filename or note number; a link to a heading uses its real anchor.
  • One physical line per paragraph. Use editor soft-wrap; hard-wrapped prose makes diffs and greps unreadable.
  • Each section opens with a short orienting paragraph before subsections or exhaustive detail.
  • Prefer the real identifier: the crate, the table, the endpoint, the env var, the script, so the page can be checked against the tree.
  • Chinese is welcome where the existing page is Chinese (README.md, user-facing pages); keep one page in one language.

The slop checklist

Hunt these with the cheapest probe first (git grep a distinctive phrase, word counts, heading counts):

  • Duplicated rules: the same instruction in two homes. Keep one, link from the other.
  • Narrated history: "we used to", "this was changed", "since PR …".
  • Status annotations: "(WIP)", "(deprecated)", "(new)" inside reference prose; status lives in the tree or the note lifecycle.
  • Hand-restated inventories: a list the tree, a script or a manifest already owns.
  • Reasoning transcripts: "(decision 3)", "as discussed", "the reviewer asked", hedged planning residue.
  • Repeated rationale: the why written again where only the what belongs, instead of a link to the note.
  • Paragraph walls: a section with no orienting sentence and no structure.
  • Emphasis inflation: bold on whole sentences, exclamation marks, superlatives.
  • Spec-speak in implemented material: "will", "should", "plan to", acceptance criteria, migration steps in a page or note that describes shipped reality.

Validation

Every non-trivial change updates the document that names what it changed, in the same pull request. python3 scripts/verify_agent_notes.py gates the notes; links are checked by hand or in the rendered preview; a command in a page is re-run before a claim about it merges. A documentation-only pull request runs no test job and merges in seconds, so keep configuration and code out of it.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.