rumdl
Configuration file for rumdl, a fast Markdown linter and formatter
| Type | object |
|---|---|
| File match |
.rumdl.toml
rumdl.toml
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/rumdl/latest.json |
| Source | https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/rumdl.json |
Validate with Lintel
npx @lintel/lintel check
rumdl configuration for linting Markdown files. Rules can be configured individually using [MD###] sections with rule-specific options.
Properties
Path to a base config file to inherit settings from.
Supports relative paths, absolute paths, and ~/ for home directory.
Example: extends = "../base.rumdl.toml"
Global configuration options
15 nested properties
Enabled rules
[]
Disabled rules
[]
Files to exclude
[]
Files to include
[]
Respect .gitignore files when scanning directories
A line length value that can be 0 (meaning no limit) or a positive value (≥1)
Many configuration values for line length need to support both:
- 0: Special value meaning "no line length limit"
- ≥1: Actual line length limit
This type enforces those constraints at deserialization time.
Output format for linting results (e.g., "text", "json", "pylint", etc.)
Rules that are allowed to be fixed when --fix is used If specified, only these rules will be fixed
[]
Rules that should never be fixed, even when --fix is used Takes precedence over fixable
[]
Markdown flavor/dialect. Accepts: standard, gfm, mkdocs, mdx, quarto, obsidian, kramdown. Aliases: commonmark/github map to standard, qmd/rmd/rmarkdown map to quarto, jekyll maps to kramdown.
[DEPRECATED] Whether to enforce exclude patterns for explicitly passed paths. This option is deprecated as of v0.0.156 and has no effect. Exclude patterns are now always respected, even for explicitly provided files. This prevents duplication between rumdl config and tool configs like pre-commit.
Directory to store cache files (default: .rumdl_cache) Can also be set via --cache-dir CLI flag or RUMDL_CACHE_DIR environment variable
Whether caching is enabled (default: true) Can also be disabled via --no-cache CLI flag
Additional rules to enable on top of the base set (additive)
[]
Additional rules to disable on top of the base set (additive)
[]
Per-file rule ignores: maps file patterns to lists of rules to ignore Example: { "README.md": ["MD033"], "docs/**/*.md": ["MD013"] }
{}
Per-file flavor overrides: maps file patterns to Markdown flavors Example: { "docs//*.md": MkDocs, "/*.mdx": MDX } Uses IndexMap to preserve config file order for "first match wins" semantics
{}
Master configuration for code block tools.
This is disabled by default for safety - users must explicitly enable it.
9 nested properties
Master switch (default: false)
Language normalization strategy.
Error handling strategy for tool execution failures.
Behavior when a language has no tools configured or a tool binary is missing.
Behavior when a language has no tools configured or a tool binary is missing.
Timeout per tool execution in milliseconds (default: 30000)
User-defined language aliases (override built-in resolution) Example: { "py": "python", "bash": "shell" }
{}
Definitions
Global configuration options
Enabled rules
[]
Disabled rules
[]
Files to exclude
[]
Files to include
[]
Respect .gitignore files when scanning directories
A line length value that can be 0 (meaning no limit) or a positive value (≥1)
Many configuration values for line length need to support both:
- 0: Special value meaning "no line length limit"
- ≥1: Actual line length limit
This type enforces those constraints at deserialization time.
Output format for linting results (e.g., "text", "json", "pylint", etc.)
Rules that are allowed to be fixed when --fix is used If specified, only these rules will be fixed
[]
Rules that should never be fixed, even when --fix is used Takes precedence over fixable
[]
Markdown flavor/dialect. Accepts: standard, gfm, mkdocs, mdx, quarto, obsidian, kramdown. Aliases: commonmark/github map to standard, qmd/rmd/rmarkdown map to quarto, jekyll maps to kramdown.
[DEPRECATED] Whether to enforce exclude patterns for explicitly passed paths. This option is deprecated as of v0.0.156 and has no effect. Exclude patterns are now always respected, even for explicitly provided files. This prevents duplication between rumdl config and tool configs like pre-commit.
Directory to store cache files (default: .rumdl_cache) Can also be set via --cache-dir CLI flag or RUMDL_CACHE_DIR environment variable
Whether caching is enabled (default: true) Can also be disabled via --no-cache CLI flag
Additional rules to enable on top of the base set (additive)
[]
Additional rules to disable on top of the base set (additive)
[]
A line length value that can be 0 (meaning no limit) or a positive value (≥1)
Many configuration values for line length need to support both:
- 0: Special value meaning "no line length limit"
- ≥1: Actual line length limit
This type enforces those constraints at deserialization time.
Markdown flavor/dialect. Accepts: standard, gfm, mkdocs, mdx, quarto, obsidian, kramdown. Aliases: commonmark/github map to standard, qmd/rmd/rmarkdown map to quarto, jekyll maps to kramdown.
Master configuration for code block tools.
This is disabled by default for safety - users must explicitly enable it.
Master switch (default: false)
Language normalization strategy.
Error handling strategy for tool execution failures.
Behavior when a language has no tools configured or a tool binary is missing.
Behavior when a language has no tools configured or a tool binary is missing.
Timeout per tool execution in milliseconds (default: 30000)
User-defined language aliases (override built-in resolution) Example: { "py": "python", "bash": "shell" }
{}
Language normalization strategy.
Error handling strategy for tool execution failures.
Behavior when a language has no tools configured or a tool binary is missing.
Per-language tool configuration.
Whether code block tools are enabled for this language (default: true). Set to false to acknowledge a language without configuring tools. This satisfies strict mode (on-missing-language-definition) checks.
Tools to run in lint mode (rumdl check)
[]
Tools to run in format mode (rumdl check --fix / rumdl fmt)
[]
Override global on-error setting for this language
Definition of an external tool.
This describes how to invoke a tool and how it communicates.
Command to run (first element is the binary, rest are arguments)
Whether the tool reads from stdin (default: true)
Whether the tool writes to stdout (default: true)
Additional arguments for lint mode (appended to command)
[]
Additional arguments for format mode (appended to command)
[]
Represents a rule-specific configuration
Severity override for this rule (Error, Warning, or Info)