Implementations
MDC implementations
Section titled “MDC implementations”Known implementations of MDC (Markdown Checklists), each keyed to the highest conformance class and spec version it passes. Modeled on the CommonMark and TOML implementation lists: an entry earns its row by passing the machine-checkable conformance corpus, not by assertion.
Conformance classes (see spec §12 and the conformance contract):
- CONF-L0 — Render. Any Markdown/GFM renderer, by construction.
- CONF-L1 — Parse. Passes every
parse/andlint/case (the L1 JSON model and lint findings). - CONF-L2 — Mutate. L1, plus every
fmt/,mutate/,add/,note/,edit/, andcut/case, holding the minimal-diff and idempotence properties.
Registry
Section titled “Registry”| Implementation | Language | Conformance | Spec version | Notes |
|---|---|---|---|---|
@mdcspec/mdc |
JavaScript (Node ≥ 20) | CONF-L2 | v0.1 | The reference parser and CLI. remark + remark-gfm + remark-frontmatter; the source of truth for the corpus’s expected outputs. |
impls/mdc-py |
Python 3 (stdlib only) | CONF-L2 | v0.1 | Second, independent implementation — a different parsing strategy, no pip dependencies. The pre-1.0 credibility gate: proof the spec is implementable twice from the spec + corpus rather than from the reference code. |
Getting listed
Section titled “Getting listed”An implementation earns a row by passing the conformance corpus — nothing is taken on assertion. Point the language-agnostic runner at your binary:
python3 spec/conformance/run.py --cli "<your CLI command>" # all cases → CONF-L2python3 spec/conformance/run.py --cli "<your CLI command>" --level L1 # parse + lint only → CONF-L1The runner (spec/conformance/run.py) is standard-library Python and consumes only spec/corpus/manifest.json plus the CLI contract — it has no knowledge of any implementation’s language. run.py exits 0 iff every selected case passes. The highest all-green level is the class you may claim.
To add your implementation here, open a pull request that (1) shows run.py green against your binary at the claimed level and spec version, and (2) adds a row above. New implementations in any language are welcome; the corpus is MIT-licensed precisely so it can be vendored verbatim into your own test suite.