Contribute to rungs — author a module

Contribute
Author a module
Updated
2026-09-06

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 orreview-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
32 pass · 0 fail · 2026-09-06 · 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 withnpm 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 fromsrc/plugins/rehype-rungs.mjs at build time.

ruledetected bystate
pattern-tabletable with id · pattern · src · rung headersgated
source-mark4/4 · AM/HG/HT/RF · (none — … counter-example …) in a src cellgated
rung-badge0–5 in a rung cell; anything else renders RUNG UNSTATEDgated
console```console fence — undated, so it renders the loud captiongated
enforcement-tag`gated` / `review-only` inline codegated
adr-chipa standalone ADR-#### link in a cell or list itemgated
opinion-claimemphasis or blockquote opening with 'Opinion'gated
calloutblockquote opening with ⚠️ Known gap / **Amended <date>**gated
doc-linksrelative *.md hrefs — rewritten to wiki routes or GitHubgated
measurementcount + date + command in prose — needs a regex pass with a false-positive budgetnot implemented
title-block'Authoritative for:' scope headers — currently supplied by the layout from frontmatternot 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 patternAbandoned practices are findings, not omissions — record retirements with their reason.