diff --git a/internal/rules/MDS001-line-length/README.md b/internal/rules/MDS001-line-length/README.md index 13e5fc6e5..61c26aa20 100644 --- a/internal/rules/MDS001-line-length/README.md +++ b/internal/rules/MDS001-line-length/README.md @@ -8,15 +8,6 @@ description: Line exceeds maximum length. Line exceeds maximum length. -- **ID**: MDS001 -- **Name**: `line-length` -- **Status**: ready -- **Default**: enabled, max: 80 -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: line - ## Settings | Setting | Type | Default | Description | @@ -246,3 +237,14 @@ This line inside a code block is over 80 characters but within the code-block-ma ```` + +## Meta-Information + +- **ID**: MDS001 +- **Name**: `line-length` +- **Status**: ready +- **Default**: enabled, max: 80 +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: line diff --git a/internal/rules/MDS002-heading-style/README.md b/internal/rules/MDS002-heading-style/README.md index 92ad2508b..2e34cd6a8 100644 --- a/internal/rules/MDS002-heading-style/README.md +++ b/internal/rules/MDS002-heading-style/README.md @@ -8,15 +8,6 @@ description: Heading style must be consistent. Heading style must be consistent. -- **ID**: MDS002 -- **Name**: `heading-style` -- **Status**: ready -- **Default**: enabled, style: atx -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: heading - ## Settings | Setting | Type | Default | Description | @@ -145,3 +136,14 @@ Body text. |----------------------------------|---------------------------------------------| | `heading style should be atx` | `style: atx` and a Setext heading is found | | `heading style should be setext` | `style: setext` and an ATX heading is found | + +## Meta-Information + +- **ID**: MDS002 +- **Name**: `heading-style` +- **Status**: ready +- **Default**: enabled, style: atx +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: heading diff --git a/internal/rules/MDS003-heading-increment/README.md b/internal/rules/MDS003-heading-increment/README.md index c963fc70c..a6853608a 100644 --- a/internal/rules/MDS003-heading-increment/README.md +++ b/internal/rules/MDS003-heading-increment/README.md @@ -8,15 +8,6 @@ description: Heading levels should increment by one. No jumping from `#` to `### Heading levels should increment by one. No jumping from `#` to `###`. -- **ID**: MDS003 -- **Name**: `heading-increment` -- **Status**: ready -- **Default**: enabled -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: heading - ## Config Enable: @@ -66,3 +57,14 @@ Body text. ``` + +## Meta-Information + +- **ID**: MDS003 +- **Name**: `heading-increment` +- **Status**: ready +- **Default**: enabled +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: heading diff --git a/internal/rules/MDS004-first-line-heading/README.md b/internal/rules/MDS004-first-line-heading/README.md index da84c9592..766755b66 100644 --- a/internal/rules/MDS004-first-line-heading/README.md +++ b/internal/rules/MDS004-first-line-heading/README.md @@ -8,15 +8,6 @@ description: First line of the file should be a heading. First line of the file should be a heading. -- **ID**: MDS004 -- **Name**: `first-line-heading` -- **Status**: ready -- **Default**: enabled, level: 1 -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: heading - ## Settings | Setting | Type | Default | Description | @@ -104,3 +95,14 @@ Some content here. | `first line should be a level {level} heading` | Line 1 is missing or not a heading | | `first line should be a level {level} heading, found blank line` | First child is a heading but preceded by blank line | | `first heading should be level {level}, got {n}` | First heading on line 1 has the wrong level | + +## Meta-Information + +- **ID**: MDS004 +- **Name**: `first-line-heading` +- **Status**: ready +- **Default**: enabled, level: 1 +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: heading diff --git a/internal/rules/MDS005-no-duplicate-headings/README.md b/internal/rules/MDS005-no-duplicate-headings/README.md index 2ee360b64..f8c8df35b 100644 --- a/internal/rules/MDS005-no-duplicate-headings/README.md +++ b/internal/rules/MDS005-no-duplicate-headings/README.md @@ -8,15 +8,6 @@ description: No two headings should have the same text. No two headings should have the same text. -- **ID**: MDS005 -- **Name**: `no-duplicate-headings` -- **Status**: ready -- **Default**: enabled -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: heading - ## Config Enable: @@ -72,3 +63,14 @@ Body two. ``` + +## Meta-Information + +- **ID**: MDS005 +- **Name**: `no-duplicate-headings` +- **Status**: ready +- **Default**: enabled +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: heading diff --git a/internal/rules/MDS006-no-trailing-spaces/README.md b/internal/rules/MDS006-no-trailing-spaces/README.md index 5c2a2de41..152dd5d10 100644 --- a/internal/rules/MDS006-no-trailing-spaces/README.md +++ b/internal/rules/MDS006-no-trailing-spaces/README.md @@ -8,15 +8,6 @@ description: No trailing whitespace at the end of lines. No trailing whitespace at the end of lines. -- **ID**: MDS006 -- **Name**: `no-trailing-spaces` -- **Status**: ready -- **Default**: enabled -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: whitespace - ## Config Enable: @@ -68,3 +59,14 @@ code block with language tag ```` + +## Meta-Information + +- **ID**: MDS006 +- **Name**: `no-trailing-spaces` +- **Status**: ready +- **Default**: enabled +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: whitespace diff --git a/internal/rules/MDS007-no-hard-tabs/README.md b/internal/rules/MDS007-no-hard-tabs/README.md index a6826f7cb..85f9d3851 100644 --- a/internal/rules/MDS007-no-hard-tabs/README.md +++ b/internal/rules/MDS007-no-hard-tabs/README.md @@ -8,15 +8,6 @@ description: No tab characters. Use spaces instead. No tab characters. Use spaces instead. -- **ID**: MDS007 -- **Name**: `no-hard-tabs` -- **Status**: ready -- **Default**: enabled -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: whitespace - ## Config Enable: @@ -69,3 +60,14 @@ No tabs here. ```` + +## Meta-Information + +- **ID**: MDS007 +- **Name**: `no-hard-tabs` +- **Status**: ready +- **Default**: enabled +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: whitespace diff --git a/internal/rules/MDS008-no-multiple-blanks/README.md b/internal/rules/MDS008-no-multiple-blanks/README.md index 9afc95cdd..f67eb68d6 100644 --- a/internal/rules/MDS008-no-multiple-blanks/README.md +++ b/internal/rules/MDS008-no-multiple-blanks/README.md @@ -8,15 +8,6 @@ description: No more than one consecutive blank line. No more than one consecutive blank line. -- **ID**: MDS008 -- **Name**: `no-multiple-blanks` -- **Status**: ready -- **Default**: enabled -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: whitespace - ## Config Enable: @@ -72,3 +63,14 @@ more code with blank lines above ```` + +## Meta-Information + +- **ID**: MDS008 +- **Name**: `no-multiple-blanks` +- **Status**: ready +- **Default**: enabled +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: whitespace diff --git a/internal/rules/MDS009-single-trailing-newline/README.md b/internal/rules/MDS009-single-trailing-newline/README.md index 557236779..071afa100 100644 --- a/internal/rules/MDS009-single-trailing-newline/README.md +++ b/internal/rules/MDS009-single-trailing-newline/README.md @@ -8,15 +8,6 @@ description: File must end with exactly one newline character. File must end with exactly one newline character. -- **ID**: MDS009 -- **Name**: `single-trailing-newline` -- **Status**: ready -- **Default**: enabled -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: whitespace - ## Config Enable: @@ -72,3 +63,14 @@ The `` output looks identical because the wrap always adds a newline, but the actual fixture file (`bad/default.md`) ends without one — that missing byte is what the rule detects. + +## Meta-Information + +- **ID**: MDS009 +- **Name**: `single-trailing-newline` +- **Status**: ready +- **Default**: enabled +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: whitespace diff --git a/internal/rules/MDS010-fenced-code-style/README.md b/internal/rules/MDS010-fenced-code-style/README.md index 509632343..fe673c942 100644 --- a/internal/rules/MDS010-fenced-code-style/README.md +++ b/internal/rules/MDS010-fenced-code-style/README.md @@ -8,15 +8,6 @@ description: Fenced code blocks must use a consistent delimiter. Fenced code blocks must use a consistent delimiter. -- **ID**: MDS010 -- **Name**: `fenced-code-style` -- **Status**: ready -- **Default**: enabled, style: backtick -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: code - ## Settings | Setting | Type | Default | Description | @@ -117,3 +108,14 @@ fmt.Println("hello") ```` + +## Meta-Information + +- **ID**: MDS010 +- **Name**: `fenced-code-style` +- **Status**: ready +- **Default**: enabled, style: backtick +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: code diff --git a/internal/rules/MDS011-fenced-code-language/README.md b/internal/rules/MDS011-fenced-code-language/README.md index 9ff136349..9f1881490 100644 --- a/internal/rules/MDS011-fenced-code-language/README.md +++ b/internal/rules/MDS011-fenced-code-language/README.md @@ -8,15 +8,6 @@ description: Fenced code blocks must specify a language. Fenced code blocks must specify a language. -- **ID**: MDS011 -- **Name**: `fenced-code-language` -- **Status**: ready -- **Default**: enabled -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: code - ## Config Enable: @@ -68,3 +59,14 @@ fmt.Println("hello") ```` + +## Meta-Information + +- **ID**: MDS011 +- **Name**: `fenced-code-language` +- **Status**: ready +- **Default**: enabled +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: code diff --git a/internal/rules/MDS012-no-bare-urls/README.md b/internal/rules/MDS012-no-bare-urls/README.md index adfd4637f..e65ff3aa1 100644 --- a/internal/rules/MDS012-no-bare-urls/README.md +++ b/internal/rules/MDS012-no-bare-urls/README.md @@ -8,15 +8,6 @@ description: URLs must be wrapped in angle brackets or as a link, not left bare. URLs must be wrapped in angle brackets or as a link, not left bare. -- **ID**: MDS012 -- **Name**: `no-bare-urls` -- **Status**: ready -- **Default**: enabled -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: link - ## Config Enable: @@ -64,3 +55,14 @@ Visit [example](https://example.com) for more. ``` + +## Meta-Information + +- **ID**: MDS012 +- **Name**: `no-bare-urls` +- **Status**: ready +- **Default**: enabled +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: link diff --git a/internal/rules/MDS013-blank-line-around-headings/README.md b/internal/rules/MDS013-blank-line-around-headings/README.md index 77ca73847..4f9d7054e 100644 --- a/internal/rules/MDS013-blank-line-around-headings/README.md +++ b/internal/rules/MDS013-blank-line-around-headings/README.md @@ -8,15 +8,6 @@ description: Headings must have a blank line before and after. Headings must have a blank line before and after. -- **ID**: MDS013 -- **Name**: `blank-line-around-headings` -- **Status**: ready -- **Default**: enabled -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: heading - ## Config Enable: @@ -74,3 +65,14 @@ Content here. |-------------------------------------------|--------------------------------------| | `heading should have a blank line before` | Previous line is not blank | | `heading should have a blank line after` | Next line after heading is not blank | + +## Meta-Information + +- **ID**: MDS013 +- **Name**: `blank-line-around-headings` +- **Status**: ready +- **Default**: enabled +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: heading diff --git a/internal/rules/MDS014-blank-line-around-lists/README.md b/internal/rules/MDS014-blank-line-around-lists/README.md index a96cbdb3b..b8d842e52 100644 --- a/internal/rules/MDS014-blank-line-around-lists/README.md +++ b/internal/rules/MDS014-blank-line-around-lists/README.md @@ -8,15 +8,6 @@ description: Lists must have a blank line before and after. Lists must have a blank line before and after. -- **ID**: MDS014 -- **Name**: `blank-line-around-lists` -- **Status**: ready -- **Default**: enabled -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: list - ## Config Enable: @@ -76,3 +67,14 @@ Content here. |-------------------------------------------|----------------------------| | `list should be preceded by a blank line` | Previous line is not blank | | `list should be followed by a blank line` | Next line is not blank | + +## Meta-Information + +- **ID**: MDS014 +- **Name**: `blank-line-around-lists` +- **Status**: ready +- **Default**: enabled +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: list diff --git a/internal/rules/MDS015-blank-line-around-fenced-code/README.md b/internal/rules/MDS015-blank-line-around-fenced-code/README.md index 0ea073e09..5a1b7cced 100644 --- a/internal/rules/MDS015-blank-line-around-fenced-code/README.md +++ b/internal/rules/MDS015-blank-line-around-fenced-code/README.md @@ -8,15 +8,6 @@ description: Fenced code blocks must have a blank line before and after. Fenced code blocks must have a blank line before and after. -- **ID**: MDS015 -- **Name**: `blank-line-around-fenced-code` -- **Status**: ready -- **Default**: enabled -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: code - ## Config Enable: @@ -78,3 +69,14 @@ Content here. |--------------------------------------------------------|--------------------------------------------| | `fenced code block should be preceded by a blank line` | Previous line is not blank | | `fenced code block should be followed by a blank line` | Next line after closing fence is not blank | + +## Meta-Information + +- **ID**: MDS015 +- **Name**: `blank-line-around-fenced-code` +- **Status**: ready +- **Default**: enabled +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: code diff --git a/internal/rules/MDS016-list-indent/README.md b/internal/rules/MDS016-list-indent/README.md index 299796f5a..3fe6960a1 100644 --- a/internal/rules/MDS016-list-indent/README.md +++ b/internal/rules/MDS016-list-indent/README.md @@ -8,15 +8,6 @@ description: List items must use consistent indentation. List items must use consistent indentation. -- **ID**: MDS016 -- **Name**: `list-indent` -- **Status**: ready -- **Default**: enabled, spaces: 2 -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: list - ## Settings | Setting | Type | Default | Description | @@ -113,3 +104,14 @@ wrap: markdown ``` + +## Meta-Information + +- **ID**: MDS016 +- **Name**: `list-indent` +- **Status**: ready +- **Default**: enabled, spaces: 2 +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: list diff --git a/internal/rules/MDS017-no-trailing-punctuation-in-heading/README.md b/internal/rules/MDS017-no-trailing-punctuation-in-heading/README.md index 3aa304475..d6a0da420 100644 --- a/internal/rules/MDS017-no-trailing-punctuation-in-heading/README.md +++ b/internal/rules/MDS017-no-trailing-punctuation-in-heading/README.md @@ -8,15 +8,6 @@ description: Headings should not end with punctuation. Headings should not end with punctuation. -- **ID**: MDS017 -- **Name**: `no-trailing-punctuation-in-heading` -- **Status**: ready -- **Default**: enabled -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: heading - Flags headings that end with `.`, `,`, `:`, `;`, or `!`. ## Config @@ -68,3 +59,14 @@ Body text. ``` + +## Meta-Information + +- **ID**: MDS017 +- **Name**: `no-trailing-punctuation-in-heading` +- **Status**: ready +- **Default**: enabled +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: heading diff --git a/internal/rules/MDS018-no-emphasis-as-heading/README.md b/internal/rules/MDS018-no-emphasis-as-heading/README.md index 6908e8af1..4f0f22078 100644 --- a/internal/rules/MDS018-no-emphasis-as-heading/README.md +++ b/internal/rules/MDS018-no-emphasis-as-heading/README.md @@ -8,15 +8,6 @@ description: Don't use bold or emphasis on a standalone line as a heading substi Don't use bold or emphasis on a standalone line as a heading substitute. -- **ID**: MDS018 -- **Name**: `no-emphasis-as-heading` -- **Status**: ready -- **Default**: enabled -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: heading - ## Config Enable: @@ -64,3 +55,14 @@ This is a normal paragraph. ``` + +## Meta-Information + +- **ID**: MDS018 +- **Name**: `no-emphasis-as-heading` +- **Status**: ready +- **Default**: enabled +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: heading diff --git a/internal/rules/MDS019-catalog/README.md b/internal/rules/MDS019-catalog/README.md index 5254ff254..66ea46c05 100644 --- a/internal/rules/MDS019-catalog/README.md +++ b/internal/rules/MDS019-catalog/README.md @@ -9,19 +9,6 @@ description: Catalog content must reflect selected front matter fields from file Catalog content must reflect selected front matter fields from files matching its glob. -- **ID**: MDS019 -- **Name**: `catalog` -- **Status**: ready -- **Default**: enabled -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: meta -- **Archetype**: - [generated-section](../../../docs/background/archetypes/generated-section/) -- **Guide**: - [directive guide](../../../docs/guides/directives/generating-content.md) - ## Directive: `catalog` Lists files matching a glob pattern. Uses *template mode* @@ -246,3 +233,18 @@ See the [archetype documentation](../../../docs/background/archetypes/generated-section/) for shared edge cases (markers in code blocks, multiple marker pairs, line endings, template errors). + +## Meta-Information + +- **ID**: MDS019 +- **Name**: `catalog` +- **Status**: ready +- **Default**: enabled +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: meta +- **Archetype**: + [generated-section](../../../docs/background/archetypes/generated-section/) +- **Guide**: + [directive guide](../../../docs/guides/directives/generating-content.md) diff --git a/internal/rules/MDS020-required-structure/README.md b/internal/rules/MDS020-required-structure/README.md index 09f30613e..05c2e6dd2 100644 --- a/internal/rules/MDS020-required-structure/README.md +++ b/internal/rules/MDS020-required-structure/README.md @@ -9,16 +9,6 @@ description: Document structure and front matter must match its schema. Document structure and front matter must match its schema. -- **ID**: MDS020 -- **Name**: `required-structure` -- **Status**: ready -- **Default**: enabled -- **Fixable**: no -- **Implementation**: [source](./) -- **Guide**: - [directive guide](../../../docs/guides/directives/enforcing-structure.md) -- **Category**: meta - ## Settings | Setting | Type | Default | Description | @@ -226,3 +216,16 @@ Describe the goal here. | filename mismatch | filename "foo.md" does not match required pattern "[0-9]*_*.md" | | misplaced require | is only recognized in schema files; this directive has no effect | | schema include loop | cyclic include: a.md -> b.md -> a.md | + +## Meta-Information + +- **ID**: MDS020 +- **Name**: `required-structure` +- **Status**: ready +- **Default**: enabled +- **Fixable**: no +- **Implementation**: + [source](./) +- **Guide**: + [directive guide](../../../docs/guides/directives/enforcing-structure.md) +- **Category**: meta diff --git a/internal/rules/MDS021-include/README.md b/internal/rules/MDS021-include/README.md index 58fc3ad75..a37d290dd 100644 --- a/internal/rules/MDS021-include/README.md +++ b/internal/rules/MDS021-include/README.md @@ -8,19 +8,6 @@ description: Include section content must match the referenced file. Include section content must match the referenced file. -- **ID**: MDS021 -- **Name**: `include` -- **Status**: ready -- **Default**: enabled -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: meta -- **Archetype**: - [generated-section](../../../docs/background/archetypes/generated-section/) -- **Guide**: - [directive guide](../../../docs/guides/directives/generating-content.md) - ## Marker Syntax ```text @@ -208,3 +195,18 @@ Outdated content | invalid heading-level | include directive "heading-level" must be "absolute" | | cyclic include | cyclic include: a.md -> b.md -> a.md | | depth exceeded | include depth exceeds maximum (10) | + +## Meta-Information + +- **ID**: MDS021 +- **Name**: `include` +- **Status**: ready +- **Default**: enabled +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: meta +- **Archetype**: + [generated-section](../../../docs/background/archetypes/generated-section/) +- **Guide**: + [directive guide](../../../docs/guides/directives/generating-content.md) diff --git a/internal/rules/MDS022-max-file-length/README.md b/internal/rules/MDS022-max-file-length/README.md index 7e20c48ae..70eaf564e 100644 --- a/internal/rules/MDS022-max-file-length/README.md +++ b/internal/rules/MDS022-max-file-length/README.md @@ -8,15 +8,6 @@ description: File must not exceed maximum number of lines. File must not exceed maximum number of lines. -- **ID**: MDS022 -- **Name**: `max-file-length` -- **Status**: ready -- **Default**: enabled, max: 300 -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: meta - ## Settings | Setting | Type | Default | Description | @@ -72,3 +63,14 @@ Extra line. ``` + +## Meta-Information + +- **ID**: MDS022 +- **Name**: `max-file-length` +- **Status**: ready +- **Default**: enabled, max: 300 +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: meta diff --git a/internal/rules/MDS023-paragraph-readability/README.md b/internal/rules/MDS023-paragraph-readability/README.md index ebbb15a60..dfb590521 100644 --- a/internal/rules/MDS023-paragraph-readability/README.md +++ b/internal/rules/MDS023-paragraph-readability/README.md @@ -8,15 +8,6 @@ description: Paragraph readability index must not exceed a threshold. Paragraph readability index must not exceed a threshold. -- **ID**: MDS023 -- **Name**: `paragraph-readability` -- **Status**: ready -- **Default**: enabled, max-index: 14.0, min-words: 20 -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: meta - ## Settings | Setting | Type | Default | Description | @@ -85,3 +76,14 @@ The implementation of concurrent distributed systems requires sophisticated unde ``` + +## Meta-Information + +- **ID**: MDS023 +- **Name**: `paragraph-readability` +- **Status**: ready +- **Default**: enabled, max-index: 14.0, min-words: 20 +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: meta diff --git a/internal/rules/MDS024-paragraph-structure/README.md b/internal/rules/MDS024-paragraph-structure/README.md index 06ab117d9..e177a339d 100644 --- a/internal/rules/MDS024-paragraph-structure/README.md +++ b/internal/rules/MDS024-paragraph-structure/README.md @@ -8,15 +8,6 @@ description: Paragraphs must not exceed sentence and word limits. Paragraphs must not exceed sentence and word limits. -- **ID**: MDS024 -- **Name**: `paragraph-structure` -- **Status**: ready -- **Default**: enabled, max-sentences: 6, max-words-per-sentence: 40 -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: meta - ## Settings | Setting | Type | Default | Description | @@ -81,3 +72,14 @@ Dogs bark. Cats meow. Birds sing. Fish swim. Frogs croak. Snakes hiss. Bees buzz |--------------------|--------------------------------------------| | too many sentences | `paragraph has too many sentences (8 > 6)` | | sentence too long | `sentence too long (45 > 40 words)` | + +## Meta-Information + +- **ID**: MDS024 +- **Name**: `paragraph-structure` +- **Status**: ready +- **Default**: enabled, max-sentences: 6, max-words-per-sentence: 40 +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: meta diff --git a/internal/rules/MDS025-table-format/README.md b/internal/rules/MDS025-table-format/README.md index b074d5a00..c24b752a6 100644 --- a/internal/rules/MDS025-table-format/README.md +++ b/internal/rules/MDS025-table-format/README.md @@ -8,15 +8,6 @@ description: Tables must have consistent column widths and padding. Tables must have consistent column widths and padding. -- **ID**: MDS025 -- **Name**: `table-format` -- **Status**: ready -- **Default**: enabled, pad: 1 -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: table - ## Settings | Setting | Type | Default | Description | @@ -138,3 +129,14 @@ wrap: markdown | escaped pipe in cell | `\|` treated as literal, not column boundary | | single-column table | formatted normally with minimum width of 3 | | inline code, links, emphasis | width measured in display columns, syntax included | + +## Meta-Information + +- **ID**: MDS025 +- **Name**: `table-format` +- **Status**: ready +- **Default**: enabled, pad: 1 +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: table diff --git a/internal/rules/MDS026-table-readability/README.md b/internal/rules/MDS026-table-readability/README.md index 17f098998..076b41f1f 100644 --- a/internal/rules/MDS026-table-readability/README.md +++ b/internal/rules/MDS026-table-readability/README.md @@ -8,19 +8,6 @@ description: Tables must stay within readability complexity limits. Tables must stay within readability complexity limits. -- **ID**: MDS026 -- **Name**: `table-readability` -- **Status**: ready -- **Default**: enabled - - `max-columns`: `8` - - `max-rows`: `30` - - `max-words-per-cell`: `30` - - `max-column-width-ratio`: `60.0` -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: table - This rule is separate from MDS023 and MDS024. Table complexity needs table-specific metrics. @@ -99,3 +86,18 @@ wrap: markdown - Tables inside fenced code blocks are skipped. - Blockquote and indented tables are checked. + +## Meta-Information + +- **ID**: MDS026 +- **Name**: `table-readability` +- **Status**: ready +- **Default**: enabled + - `max-columns`: `8` + - `max-rows`: `30` + - `max-words-per-cell`: `30` + - `max-column-width-ratio`: `60.0` +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: table diff --git a/internal/rules/MDS027-cross-file-reference-integrity/README.md b/internal/rules/MDS027-cross-file-reference-integrity/README.md index ebc5618be..0562144a4 100644 --- a/internal/rules/MDS027-cross-file-reference-integrity/README.md +++ b/internal/rules/MDS027-cross-file-reference-integrity/README.md @@ -8,15 +8,6 @@ description: Links to local files and heading anchors must resolve. Links to local files and heading anchors must resolve. -- **ID**: MDS027 -- **Name**: `cross-file-reference-integrity` -- **Status**: ready -- **Default**: enabled, include: [], exclude: [], strict: false -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: link - ## Settings | Setting | Type | Default | Description | @@ -124,3 +115,14 @@ See [guide](bad/ref/guide.md#missing-section). |-----------------|------------------------------------------------------------------| | missing file | broken link target "x.md" not found | | missing heading | broken link target "x.md#section" has no matching heading anchor | + +## Meta-Information + +- **ID**: MDS027 +- **Name**: `cross-file-reference-integrity` +- **Status**: ready +- **Default**: enabled, include: [], exclude: [], strict: false +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: link diff --git a/internal/rules/MDS028-token-budget/README.md b/internal/rules/MDS028-token-budget/README.md index 78a05abc2..e0783fe11 100644 --- a/internal/rules/MDS028-token-budget/README.md +++ b/internal/rules/MDS028-token-budget/README.md @@ -8,16 +8,6 @@ description: File must not exceed a token budget. File must not exceed a token budget. -- **ID**: MDS028 -- **Name**: `token-budget` -- **Status**: ready -- **Default**: enabled, max: 8000, mode: heuristic, tokens-per-word: 1.33, - tokenizer: builtin, encoding: cl100k_base -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: meta - ## Settings | Setting | Type | Default | Description | @@ -102,3 +92,15 @@ one two three four five six ``` + +## Meta-Information + +- **ID**: MDS028 +- **Name**: `token-budget` +- **Status**: ready +- **Default**: enabled, max: 8000, mode: heuristic, tokens-per-word: 1.33, + tokenizer: builtin, encoding: cl100k_base +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: meta diff --git a/internal/rules/MDS029-conciseness-scoring/README.md b/internal/rules/MDS029-conciseness-scoring/README.md index f6cad61d7..c2d89fc0e 100644 --- a/internal/rules/MDS029-conciseness-scoring/README.md +++ b/internal/rules/MDS029-conciseness-scoring/README.md @@ -8,15 +8,6 @@ description: Paragraph conciseness score must not fall below a threshold. Paragraph conciseness score must not fall below a threshold. -- **ID**: MDS029 -- **Name**: `conciseness-scoring` -- **Status**: not-ready -- **Default**: disabled -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: meta - ## Settings | Setting | Type | Default | Description | @@ -97,3 +88,14 @@ little concrete information to the paragraph. | Condition | Message | |-----------------------|-------------------------------------------------------------------------------------------------------------------| | score below threshold | `conciseness score too low (0.08 < 0.20); target >= 0.20; reduce verbose cues (e.g., "basically", "in order to")` | + +## Meta-Information + +- **ID**: MDS029 +- **Name**: `conciseness-scoring` +- **Status**: not-ready +- **Default**: disabled +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: meta diff --git a/internal/rules/MDS030-empty-section-body/README.md b/internal/rules/MDS030-empty-section-body/README.md index ac2101f1f..f0feb29fc 100644 --- a/internal/rules/MDS030-empty-section-body/README.md +++ b/internal/rules/MDS030-empty-section-body/README.md @@ -8,17 +8,6 @@ description: Section headings must include meaningful body content. Section headings must include meaningful body content. -- **ID**: MDS030 -- **Name**: `empty-section-body` -- **Status**: ready -- **Default**: enabled, `min-level: 2`, `max-level: 6` -- **Fixable**: no -- **Implementation**: - [source](./) -- **Guide**: - [directive guide](../../../docs/guides/directives/enforcing-structure.md) -- **Category**: heading - This rule reports sections that only contain whitespace, comments, or nested headings without any body content. @@ -166,3 +155,16 @@ This section has real content. parent section's range before the next same-or-higher-level heading. - Heading-only nesting with no body content is reported. - End-of-file sections are checked the same way as middle sections. + +## Meta-Information + +- **ID**: MDS030 +- **Name**: `empty-section-body` +- **Status**: ready +- **Default**: enabled, `min-level: 2`, `max-level: 6` +- **Fixable**: no +- **Implementation**: + [source](./) +- **Guide**: + [directive guide](../../../docs/guides/directives/enforcing-structure.md) +- **Category**: heading diff --git a/internal/rules/MDS031-unclosed-code-block/README.md b/internal/rules/MDS031-unclosed-code-block/README.md index 030093ab7..e7767837f 100644 --- a/internal/rules/MDS031-unclosed-code-block/README.md +++ b/internal/rules/MDS031-unclosed-code-block/README.md @@ -8,15 +8,6 @@ description: Fenced code blocks must have a closing fence delimiter. Fenced code blocks must have a closing fence delimiter. -- **ID**: MDS031 -- **Name**: `unclosed-code-block` -- **Status**: ready -- **Default**: enabled -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: code - ## Config Enable (default): @@ -69,3 +60,14 @@ wrap: markdown ```` + +## Meta-Information + +- **ID**: MDS031 +- **Name**: `unclosed-code-block` +- **Status**: ready +- **Default**: enabled +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: code diff --git a/internal/rules/MDS032-no-empty-alt-text/README.md b/internal/rules/MDS032-no-empty-alt-text/README.md index f409e4f0e..91e663f6b 100644 --- a/internal/rules/MDS032-no-empty-alt-text/README.md +++ b/internal/rules/MDS032-no-empty-alt-text/README.md @@ -8,15 +8,6 @@ description: Images must have non-empty alt text for accessibility. Images must have non-empty alt text for accessibility. -- **ID**: MDS032 -- **Name**: `no-empty-alt-text` -- **Status**: ready -- **Default**: enabled -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: accessibility - ## Config Enable (default): @@ -64,3 +55,14 @@ wrap: markdown ``` + +## Meta-Information + +- **ID**: MDS032 +- **Name**: `no-empty-alt-text` +- **Status**: ready +- **Default**: enabled +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: accessibility diff --git a/internal/rules/MDS033-directory-structure/README.md b/internal/rules/MDS033-directory-structure/README.md index c463137af..3acebde01 100644 --- a/internal/rules/MDS033-directory-structure/README.md +++ b/internal/rules/MDS033-directory-structure/README.md @@ -8,15 +8,6 @@ description: Markdown files must exist only in explicitly allowed directories. Markdown files must exist only in explicitly allowed directories. -- **ID**: MDS033 -- **Name**: `directory-structure` -- **Status**: ready -- **Default**: disabled -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: meta - ## Settings | Key | Type | Description | @@ -87,3 +78,14 @@ This file is not in an allowed directory. ``` + +## Meta-Information + +- **ID**: MDS033 +- **Name**: `directory-structure` +- **Status**: ready +- **Default**: disabled +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: meta diff --git a/internal/rules/MDS034-markdown-flavor/README.md b/internal/rules/MDS034-markdown-flavor/README.md index b31e7e786..a97000f87 100644 --- a/internal/rules/MDS034-markdown-flavor/README.md +++ b/internal/rules/MDS034-markdown-flavor/README.md @@ -11,15 +11,6 @@ description: >- Flags Markdown syntax that the declared target flavor does not render. -- **ID**: MDS034 -- **Name**: `markdown-flavor` -- **Status**: ready -- **Default**: disabled -- **Fixable**: partially (GitHub Alerts only) -- **Implementation**: - [source](./) -- **Category**: meta - ## Settings | Key | Type | Description | @@ -151,3 +142,14 @@ wrap: markdown ``` + +## Meta-Information + +- **ID**: MDS034 +- **Name**: `markdown-flavor` +- **Status**: ready +- **Default**: disabled +- **Fixable**: partially (GitHub Alerts only) +- **Implementation**: + [source](./) +- **Category**: meta diff --git a/internal/rules/MDS035-toc-directive/README.md b/internal/rules/MDS035-toc-directive/README.md index 29f4d498c..3f62fdb1d 100644 --- a/internal/rules/MDS035-toc-directive/README.md +++ b/internal/rules/MDS035-toc-directive/README.md @@ -10,15 +10,6 @@ Flag renderer-specific TOC directives that render as literal text on CommonMark and goldmark. -- **ID**: MDS035 -- **Name**: `toc-directive` -- **Status**: ready -- **Default**: disabled (opt-in) -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: meta - ## What it detects Four directive variants appear in the wild, @@ -134,3 +125,14 @@ text on CommonMark and goldmark renderers. ``` + +## Meta-Information + +- **ID**: MDS035 +- **Name**: `toc-directive` +- **Status**: ready +- **Default**: disabled (opt-in) +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: meta diff --git a/internal/rules/MDS036-max-section-length/README.md b/internal/rules/MDS036-max-section-length/README.md index 91c15ee65..677121c6d 100644 --- a/internal/rules/MDS036-max-section-length/README.md +++ b/internal/rules/MDS036-max-section-length/README.md @@ -8,15 +8,6 @@ description: Section length must not exceed per-level or per-heading limits. Section length must not exceed per-level or per-heading limits. -- **ID**: MDS036 -- **Name**: `max-section-length` -- **Status**: ready -- **Default**: disabled -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: heading - A section spans from its heading line up to (but not including) the next heading line of any level, or the end of file. Nested subsections are measured separately from their parent, so the limit applies to the @@ -107,3 +98,14 @@ line d ``` + +## Meta-Information + +- **ID**: MDS036 +- **Name**: `max-section-length` +- **Status**: ready +- **Default**: disabled +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: heading diff --git a/internal/rules/MDS037-duplicated-content/README.md b/internal/rules/MDS037-duplicated-content/README.md index c3d368119..f270681f0 100644 --- a/internal/rules/MDS037-duplicated-content/README.md +++ b/internal/rules/MDS037-duplicated-content/README.md @@ -8,16 +8,6 @@ description: Paragraphs should not repeat verbatim across Markdown files. Paragraphs should not repeat verbatim across Markdown files. -- **ID**: MDS037 -- **Name**: `duplicated-content` -- **Status**: ready -- **Default**: disabled (opt-in via `.mdsmith.yml`); - include: [], exclude: [], min-chars: 200 -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: meta - ## Settings | Setting | Type | Default | Description | @@ -141,3 +131,15 @@ suite. |-------------------|--------------------------------------------------------------------------| | paragraph repeats | paragraph duplicated in {other}:{line} | | invalid glob | duplicated-content: {include,exclude}: invalid glob pattern "{pat}": ... | + +## Meta-Information + +- **ID**: MDS037 +- **Name**: `duplicated-content` +- **Status**: ready +- **Default**: disabled (opt-in via `.mdsmith.yml`); + include: [], exclude: [], min-chars: 200 +- **Fixable**: no +- **Implementation**: + [source](./) +- **Category**: meta diff --git a/internal/rules/MDS038-toc/README.md b/internal/rules/MDS038-toc/README.md index e892e670b..a6a748133 100644 --- a/internal/rules/MDS038-toc/README.md +++ b/internal/rules/MDS038-toc/README.md @@ -9,15 +9,6 @@ description: Keep toc generated heading lists in sync with document headings. Keep toc generated heading lists in sync with document headings. -- **ID**: MDS038 -- **Name**: `toc` -- **Status**: ready -- **Default**: enabled -- **Fixable**: yes -- **Implementation**: - [source](./) -- **Category**: meta - ## What it detects A `...` block contains a @@ -104,3 +95,14 @@ rules: MDS038 reports a "generated section is out of date" diagnostic on the `` line. + +## Meta-Information + +- **ID**: MDS038 +- **Name**: `toc` +- **Status**: ready +- **Default**: enabled +- **Fixable**: yes +- **Implementation**: + [source](./) +- **Category**: meta diff --git a/internal/rules/proto.md b/internal/rules/proto.md index 3b6e017cb..6d2f60d2a 100644 --- a/internal/rules/proto.md +++ b/internal/rules/proto.md @@ -15,23 +15,6 @@ description: 'string & != ""' {description} -- **ID**: {id} -- **Name**: `{name}` -- **Status**: {status} -- **Default**: enabled -- **Fixable**: no -- **Implementation**: - [source](./) -- **Category**: CATEGORY -- **Archetype**: - [NAME](../../../docs/background/archetypes/NAME/) - - -