wado
AGENTS.md120 starsChanged 14 days agoMITView on GitHub
This is the documentation directory of Wado. The markdown skill holds the rules for every Markdown file. These add what is particular to docs/. The specification is docs/spec-*.md, one file per area of the language. It is normative, and spec-overview.md says what that means. Each rule is stated in exactly one place. The specification says what a rule is. How the rule came to be belongs to the WEP that proposed it. The specification states exactly how the language should…
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,542 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 repository37 other files it gives its agents.
- AGENTS.mdAGENTS.md
- benchmark/AGENTS.mdAGENTS.md
- package-gale/AGENTS.mdAGENTS.md
- package-grog/AGENTS.mdAGENTS.md
- package-jade/AGENTS.mdAGENTS.md
- package-loam/AGENTS.mdAGENTS.md
- package-re/AGENTS.mdAGENTS.md
- package-wadopoet/AGENTS.mdAGENTS.md
- wado-cli/AGENTS.mdAGENTS.md
- wado-compiler/AGENTS.mdAGENTS.md
- wado-from-idl/AGENTS.mdAGENTS.md
- wado-host/AGENTS.mdAGENTS.md
- wado-lsp/AGENTS.mdAGENTS.md
- wado-manifest/AGENTS.mdAGENTS.md
- wado-run-pjrt/AGENTS.mdAGENTS.md
- wado-run-webgpu/AGENTS.mdAGENTS.md
- wado-vscode/AGENTS.mdAGENTS.md
- benchmarkSkill
- ci-timingSkill
- code-review-responseSkill
- coverage-investigationSkill
- crSkill
- debuggerSkill
- distillSkill
- git-upstream-syncSkill
- jcoSkill
- markdownSkill
- on-task-doneSkill
- optimizer-debugSkill
- profiling-wado-compilerSkill
- pull-requestSkill
- rust-renameSkill
- rustSkill
- vendor-submodulesSkill
- wado-cliSkill
- wado-performanceSkill
- wasm-optSkill
The file
We split this AGENTS.md into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Don't document implementation details outside a WEP.
- Very specific: line 12
After adding, removing, or retitling a document, run mise run update-docs-index.
≈ “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
Overview of Docs
This is the documentation directory of Wado.
Rules for Markdown
The markdown skill holds the rules for every Markdown file. These add what is
particular to docs/.
- Don't document implementation details outside a WEP. They go stale, and a reader this far from the code has no way to notice.
- A document's first
#heading is its title in the index below. - After adding, removing, or retitling a document, run
mise run update-docs-index.
Specification
The specification is docs/spec-*.md, one file per area of the language. It is
normative, and spec-overview.md says what that means. Each rule is stated in
exactly one place. The specification says what a rule is. How the rule came to
be belongs to the WEP that proposed it.
The specification states exactly how the language should behave. It is not the
place for implementation details or bugs. Where the compiler falls short of a
rule, the shortfall is a known gap in the WEP that proposed the rule. The one
exception is a rule adopted but not built yet: it carries a
> Not yet implemented: … note, as spec-overview.md § Status says.
A wado code block quotes an e2e fixture or a source file, named in an HTML
comment before it (<!-- {"fixture": "name.wado"} -->, or
<!-- {"source": "path/from/root"} -->). mise run check-spec-examples holds
this, and
WEP: Spec Examples Quote Fixtures says
what it asks of the block and the fixture.
A change that settles a rule writes it into the specification in the same change. A file stays readable in one sitting; an area that outgrows that splits into two files.
The ## Chapters list in spec-overview.md is the reading order, and the
index follows it. A new spec file takes its place in that list, or
mise run update-docs-index fails.
WEP: Wado Evolution Proposals
A WEP is a proposal: the problem, the design decided for it, and the work to get there. It covers user-visible features and compiler architecture alike.
Filename: docs/wep-YYYY-MM-DD-{feature-name}.md
- Title: Short description of the proposal
- Context: Background and problem statement
- Decision: What was decided and why
- Roadmap (optional): What will be done, in order
- Known gaps (optional): What is missing, whether or not it will be closed
Once a design settles, its rules move to the specification, and the WEP stops being where a reader looks a rule up. Where a WEP and the specification disagree, the specification holds.
Adding or changing a language feature is the human's call, to adopt and to refuse alike. Propose it and wait. Recording a feature that already exists is not that call, whoever wrote it.
A consequence of an adopted decision needs no new approval. Write it into the WEP, and name the decision it follows from where that is not obvious. A choice the decision leaves open is not a consequence: record it as a known gap, however small, for the human to settle.
A WEP is a policy, not a law. Keep looking for a better way than the one it states, and propose one when you find it: adopting it is still the human's call. A statement the work shows to be impossible is the WEP's to change, not the code's to work around. Correct it to what is true.
Roadmap and Known gaps split on commitment, not on size. A roadmap item will be done, so it is ordered and each entry says what finishing it means. A known gap is known and unowned: what is missing and what it admits, with no claim that it will be closed. Demoting a roadmap item to a gap, or promoting a gap, is the human's call.
A gap does not say how to close it. Whoever comes to it should think from zero. A written approach anchors them to what its writer saw before the problem was understood.
No "out of scope" section: an unfinished mechanism is a known gap. A deliberate omission goes in Decision.
An open question gets no Decision and no Roadmap for its open part: the WEP states the problem, not an answer nobody chose. A comparison with another language is welcome; its useful half is what that language's users complain about. Work set aside for something that paid more is deferred, not dead: say what it lost to and what was already done, not how to finish it.
Index
@README.md
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.

