// Markdownlint-cli2 Configuration // Documentation quality enforcement aligned with CLAUDE.md guidelines // See: https://github.com/igorshubovych/markdownlint-cli2 { "config": { "default": true, // Headings - enforce proper hierarchy "MD001": false, // heading-increment (relaxed - allow flexibility) "MD026": { "punctuation": ".,;:!?" }, // heading-punctuation // Lists - enforce consistency "MD004": { "style": "consistent" }, // ul-style (consistent list markers) "MD005": false, // inconsistent-indentation (relaxed) "MD007": { "indent": 2 }, // ul-indent "MD029": false, // ol-prefix (allow flexible list numbering) "MD030": { "ul_single": 1, "ol_single": 1, "ul_multi": 1, "ol_multi": 1 }, // Code blocks - fenced only "MD046": { "style": "fenced" }, // code-block-style // NOTE: MD040 only checks for missing language on opening fence. // It does NOT catch malformed closing fences with language specifiers (e.g., ```plaintext). // Custom pre-commit hook required to enforce proper closing fence syntax. // Formatting - strict whitespace "MD009": true, // no-hard-tabs "MD010": true, // hard-tabs "MD011": true, // reversed-link-syntax "MD018": true, // no-missing-space-atx "MD019": true, // no-multiple-space-atx "MD020": true, // no-missing-space-closed-atx "MD021": true, // no-multiple-space-closed-atx "MD023": true, // heading-starts-line "MD027": true, // no-multiple-spaces-blockquote "MD037": true, // no-space-in-emphasis "MD039": true, // no-space-in-links // Trailing content "MD012": false, // no-multiple-blanks (relaxed - allow formatting space) "MD024": false, // no-duplicate-heading (too strict for docs) "MD028": false, // no-blanks-blockquote (relaxed) "MD031": false, // blanks-around-fences (too strict for technical docs) "MD047": true, // single-trailing-newline // Links and references "MD034": true, // no-bare-urls (links must be formatted) "MD040": true, // fenced-code-language (code blocks need language) "MD042": true, // no-empty-links // HTML - allow for documentation formatting and images "MD033": { "allowed_elements": ["br", "hr", "details", "summary", "p", "img"] }, // Line length - relaxed for technical documentation "MD013": { "line_length": 150, "heading_line_length": 150, "code_block_line_length": 150, "code_blocks": true, "tables": true, "headers": true, "headers_line_length": 150, "strict": false, "stern": false }, // Images "MD045": true, // image-alt-text // Disable rules that conflict with relaxed style "MD003": false, // consistent-indentation "MD041": false, // first-line-heading "MD025": false, // single-h1 / multiple-top-level-headings "MD022": false, // blanks-around-headings (flexible spacing) "MD032": false, // blanks-around-lists (flexible spacing) "MD035": false, // hr-style (consistent) "MD036": false, // no-emphasis-as-heading "MD044": false, // proper-names "MD060": true // table-column-style (enforce proper table formatting) }, // Documentation patterns "globs": [ "docs/**/*.md", "!docs/node_modules/**", "!docs/build/**" ], // Ignore build artifacts, external content, and operational directories "ignores": [ "node_modules/**", "target/**", ".git/**", "build/**", "dist/**", ".coder/**", ".claude/**", ".wrks/**", ".vale/**", "extensions/providers/*/kcl/docs/**" ] }