Contribute to rungs — author a module

Contribute
Author a module
Updated
2026-08-15

Everything here was paid for once already. A contribution is admitted when it carries its receipts: every claim is evidenced — a file path, a commit, a measured count, or a quoted rule — or it is visibly marked as opinion. CLAUDE.md

Admission checks · all must hold
1 · A module is a unit
It can be installed, checked, and removed as a unit. It owns files, and it owns the rules about those files.
2 · Rules ship their checker
Every generated rule is tagged gated or review-only — no silent third category.
3 · Procedures ship their entry point
A workflow with no invocation surface does not run. The skill lands in the same change as the doc.
4 · Patterns name their sources
"Four repos converge" is checkable only if each pattern says which: HGHT — or states its counter-example.
5 · Costs are stated
Every practice names what it costs to run. A pattern without its cost gets recommended to repos that cannot afford it.
6 · Counts carry receipts
20 pass · 0 fail · 2026-08-15 · npx @rungs/cli check — count, date, command, one line. And the command must test the property the claim is about: ADR-0006 shipped a 28-name "available" list measured with npm view, which proves a name is unregistered and says nothing about whether it is publishable. Four of the 28 were not. State what the check proves.
Markdown → component mapping · the wiki renders plain markdown

Write plain markdown. Every rule below detects a convention the corpus already uses; none of them need an author-side wrapper. The table is read from src/plugins/rehype-rungs.mjs at build time.

ruledetected bystate
pattern-table table with id · pattern · src · rung headers gated
source-mark 4/4 · AM/HG/HT/RF · (none — … counter-example …) in a src cell gated
rung-badge 0–5 in a rung cell; anything else renders RUNG UNSTATED gated
console ```console fence — undated, so it renders the loud caption gated
enforcement-tag `gated` / `review-only` inline code gated
adr-chip a standalone ADR-#### link in a cell or list item gated
opinion-claim emphasis or blockquote opening with 'Opinion' gated
callout blockquote opening with ⚠️ Known gap / **Amended <date>** gated
doc-links relative *.md hrefs — rewritten to wiki routes or GitHub gated
measurement count + date + command in prose — needs a regex pass with a false-positive budget not implemented
title-block 'Authoritative for:' scope headers — currently supplied by the layout from frontmatter not implemented
Known gap · mapping
Two things cannot be inferred from markdown: whether an unmarked prose sentence is evidenced (only measurements are mechanically detectable), and the capture date of a console fence. Both render their loud states rather than a confident default — 9 of 11 rules run today.
Read the module format (ADR-0003) Submit a pattern Abandoned practices are findings, not omissions — record retirements with their reason.