@@ -11,12 +11,12 @@ use of LLMs as linters.
1111
1212### mdsmith
1313
14- Go binary with zero runtime deps. It ships 67 rules,
15- [ MDS001] [ mds001 ] through [ MDS068 ] [ mds068 ] (MDS060 is
14+ Go binary with zero runtime deps. It ships 69 rules,
15+ [ MDS001] [ mds001 ] through [ MDS070 ] [ mds070 ] (MDS060 is
1616unused). They cover structure, readability, cross-file
1717links, and generated content.
1818
19- 26 of the 67 rules are opt-in (off by default), among them
19+ 26 of the 69 rules are opt-in (off by default), among them
2020conciseness-scoring ([ MDS029] [ mds029 ] ); the rest run by
2121default.
2222
@@ -151,7 +151,7 @@ gates.
151151| Aspect | gomarklint | mdsmith |
152152| ------------- | ---------------------- | -------------------------------- |
153153| Distribution | static Go binary | static Go binary |
154- | Rule set | 23, kebab-case IDs | 67 , ` MDSxxx ` IDs |
154+ | Rule set | 23, kebab-case IDs | 69 , ` MDSxxx ` IDs |
155155| Autofix | no | ` mdsmith fix ` , multi-pass |
156156| LSP / editor | no (VS Code planned) | LSP for any editor |
157157| Config | ` .gomarklint.json ` | ` .mdsmith.yml ` |
@@ -629,7 +629,7 @@ R Markdown constructs the others flatten away.
629629| ----------------------- | ------------ | -------------------- | -------------------- | ------------ |
630630| Language | Go | Rust | Rust | Rust |
631631| Rule IDs | own ` MDSxxx ` | markdownlint ` MDxxx ` | markdownlint ` MDxxx ` | own |
632- | Rule count | 67 | 71 | ~ 41 | unenumerated |
632+ | Rule count | 69 | 71 | ~ 41 | unenumerated |
633633| Autofix / format | ` fix ` | ` --fix ` , ` fmt ` | no | ` format ` |
634634| LSP / editor | yes (LSP) | yes (LSP) | no | yes (LSP) |
635635| Config format | YAML | TOML | TOML | TOML |
@@ -757,19 +757,22 @@ access and is non-deterministic.
757757
758758## Benchmarks
759759
760- Default mdsmith is substantially faster than
761- markdownlint-cli2 on its own Markdown. With the
762- mdsmith-only rules disabled (` mdsmith-parity ` ), it lands
763- close to rumdl. See the [ benchmark doc] [ bench ] for the
764- current ratios.
760+ Default mdsmith is more than an order of magnitude faster
761+ than markdownlint-cli2 on its own Markdown. With the
762+ mdsmith-only rules disabled (` mdsmith-parity ` ), it runs at
763+ mado's speed: the two tie on the repo corpus, and parity
764+ trails mado only narrowly on the longer neutral corpus. See
765+ the [ benchmark doc] [ bench ] for the current ratios.
765766
766- mado and rumdl lead the per-file race. mdsmith trails
767- them today because it also walks the cross-file graph,
768- scores readability, and validates generated sections.
767+ Among the Rust linters, mado leads the per-file race.
768+ Default mdsmith does more per file: it walks the
769+ cross-file graph, scores readability, and validates
770+ generated sections. Even so, it comes in ahead of rumdl
771+ and panache on both corpora.
769772
770- Pick mado or rumdl for raw markdownlint throughput.
771- Pick panache for Quarto or R Markdown. Pick mdsmith for
772- the cross-file and self-maintaining-section layer.
773+ Pick mado for raw markdownlint throughput. Pick panache
774+ for Quarto or R Markdown. Pick mdsmith for the cross-file
775+ and self-maintaining-section layer.
773776
774777See the [ benchmark doc] [ bench ] for the full method, both
775778corpora, every tool's command, the result tables, and
@@ -1020,7 +1023,7 @@ if you need a stable rule set across upgrades.
10201023[ mds025 ] : ../../internal/rules/MDS025-table-format/README.md
10211024[ mds027 ] : ../../internal/rules/MDS027-cross-file-reference-integrity/README.md
10221025[ mds067 ] : ../../internal/rules/MDS067-callout-type/README.md
1023- [ mds068 ] : ../../internal/rules/MDS068-link-style /README.md
1026+ [ mds070 ] : ../../internal/rules/MDS070-same-file-anchor /README.md
10241027[ mds028 ] : ../../internal/rules/MDS028-token-budget/README.md
10251028[ mds029 ] : ../../internal/rules/MDS029-conciseness-scoring/README.md
10261029[ mds035 ] : ../../internal/rules/MDS035-toc-directive/README.md
0 commit comments