// Markdownlint-cli2 Configuration for TypeDialog
// Documentation quality enforcement with relaxed technical writing rules
// See: https://github.com/igorshubovych/markdownlint-cli2

{
  "config": {
    "default": true,

    // Headings - relaxed for technical docs
    "MD001": false, // heading-increment (allow flexible hierarchy)
    "MD003": false, // heading-style (mixed styles ok)
    "MD022": true, // blanks-around-headings (enforce for clarity)
    "MD023": false, // heading-start-line (allow indented headings)
    "MD024": false, // no-duplicate-heading (allow duplicates)
    "MD025": false, // single-h1 (allow multiple H1s)
    "MD026": { "punctuation": ".,;:!?" }, // heading-punctuation

    // Lists - relaxed for flexibility
    "MD004": { "style": "consistent" }, // ul-style
    "MD005": false, // inconsistent-indentation (too strict)
    "MD007": false, // ul-indent (allow flexible indentation)
    "MD029": { "style": "1/1/1" }, // ol-prefix (allow lazy numbering)
    "MD030": false, // list-marker-space (too strict)
    "MD032": true, // blanks-around-lists (enforce for clarity)

    // Code blocks - enforce language but relax spacing
    "MD031": true, // blanks-around-fences (enforce for clarity)
    "MD040": true,  // fenced-code-language (require language)
    "MD046": { "style": "fenced" }, // code-block-style
    "MD049": false, // emphasis-style (allow flexibility)
    "MD050": false, // strong-style (allow flexibility)

    // Formatting - essential only
    "MD009": true,  // no-trailing-spaces
    "MD010": true,  // no-hard-tabs
    "MD011": true,  // reversed-link-syntax
    "MD012": false, // no-multiple-blanks (allow spacing)
    "MD014": false, // commands-show-output (allow $ in examples)
    "MD018": true,  // no-missing-space-atx
    "MD019": true,  // no-multiple-space-atx
    "MD037": true,  // no-space-in-emphasis
    "MD038": false, // no-space-in-code (too strict)
    "MD047": true,  // single-trailing-newline

    // Links and references
    "MD034": true,  // no-bare-urls
    "MD042": true,  // no-empty-links
    "MD051": false, // link-fragments (false positives with valid anchors)
    "MD052": false, // reference-links-images (too strict)
    "MD053": false, // link-image-reference-definitions (too strict)

    // HTML and inline elements
    "MD033": false, // no-inline-html (allow HTML in docs)
    "MD036": false, // no-emphasis-as-heading
    "MD041": false, // first-line-heading (allow files without H1 at start)

    // Line length - disabled for technical content
    "MD013": false,

    // Tables - relaxed
    "MD056": false, // table-column-count (allow flexible columns)
    "MD058": false, // table-pipe-style (too strict)
    "MD059": false, // table-row-style (too strict)
    "MD060": false  // table-column-style (too strict)
  },

  // Ignore patterns
  "ignores": [
    "node_modules/**",
    "target/**",
    ".git/**",
    "build/**",
    "dist/**",
    ".coder/**",
    ".claude/**",
    ".wrks/**",
    ".vale/**"
  ]
}
