Configuration#

A JSON config is read from the path given by --config (defaults to .gomarklint.json) if the file exists.

Example#

{
  "include": ["docs", "README.md"],
  "ignore": ["node_modules", "vendor"],
  "output": "text",
  "minHeadingLevel": 2,
  "enableLinkCheck": false,
  "enableHeadingLevelCheck": true,
  "enableDuplicateHeadingCheck": true,
  "skipLinkPatterns": [
    "^https://localhost(:[0-9]+)?/",
    "example\\.com"
  ]
}

Field reference#

FieldTypeDefaultDescription
includestring[]["README.md", "testdata"]Paths to lint when no CLI paths are provided.
ignorestring[][]Path patterns to exclude.
outputstringtexttext or json.
minHeadingLevelint2Minimum allowed heading level.
enableHeadingLevelCheckbooltrueEnable heading level validation.
enableDuplicateHeadingCheckbooltrueEnable duplicate heading detection.
enableLinkCheckboolfalseEnable external link checking.
enableNoMultipleBlankLinesCheckbooltrueDisallow multiple consecutive blank lines.
enableNoSetextHeadingsCheckbooltrueDisallow setext-style headings.
enableFinalBlankLineCheckbooltrueEnforce a final blank line at end of file.
linkCheckTimeoutSecondsint5Timeout in seconds for each external link request.
skipLinkPatternsstring[][]Regex patterns for URLs to skip during link checking.

Notes#

  • CLI flags take precedence over config values.
  • If no CLI paths are provided, include becomes the target set.