Skip to content

Latest commit

 

History

History
120 lines (115 loc) · 24 KB

File metadata and controls

120 lines (115 loc) · 24 KB
title Rule Directory
weight 40
summary Complete list of all mdsmith rules with category, status, and description, generated from rule READMEs.

Rule Directory

All mdsmith rules. Each rule links to its full README with parameters, examples, and diagnostics.

Rule Name Category Status Description
MDS001 line-length line ready Line exceeds maximum length.
MDS002 heading-style heading ready Heading style must be consistent.
MDS003 heading-increment heading ready Heading levels should increment by one. No jumping from # to ###.
MDS004 first-line-heading heading ready First line of the file should be a heading.
MDS005 no-duplicate-headings heading ready No two headings should have the same text.
MDS006 no-trailing-spaces whitespace ready No trailing whitespace at the end of lines.
MDS007 no-hard-tabs whitespace ready No tab characters. Use spaces instead.
MDS008 no-multiple-blanks whitespace ready No more than one consecutive blank line.
MDS009 single-trailing-newline whitespace ready File must end with exactly one newline character.
MDS010 fenced-code-style code ready Fenced code blocks must use a consistent delimiter.
MDS011 fenced-code-language code ready Fenced code blocks must specify a language.
MDS012 no-bare-urls link ready URLs must be wrapped in angle brackets or as a link, not left bare.
MDS013 blank-line-around-headings heading ready Headings must have a blank line before and after.
MDS014 blank-line-around-lists list ready Lists must have a blank line before and after.
MDS015 blank-line-around-fenced-code code ready Fenced code blocks must have a blank line before and after.
MDS016 list-indent list ready List items must use consistent indentation.
MDS017 no-trailing-punctuation-in-heading heading ready Headings should not end with punctuation.
MDS018 no-emphasis-as-heading heading ready Don't use bold or emphasis on a standalone line as a heading substitute.
MDS019 catalog directive ready Catalog content must reflect selected front matter fields from files matching its glob.
MDS020 required-structure structural ready Document structure and front matter must match its schema.
MDS021 include directive ready Include section content must match the referenced file.
MDS022 max-file-length structural ready File must not exceed maximum number of lines.
MDS023 paragraph-readability prose ready Paragraph readability index must not exceed a threshold.
MDS024 paragraph-structure prose ready Paragraphs must not exceed sentence and word limits.
MDS025 table-format table ready Tables must have consistent edge pipes, equal column counts, surrounding blank lines, and prettier-style alignment.
MDS026 table-readability table ready Tables must stay within readability complexity limits.
MDS027 cross-file-reference-integrity link ready Links to local files and heading anchors must resolve.
MDS028 token-budget prose ready File must not exceed a token budget.
MDS029 conciseness-scoring prose not-ready Paragraph conciseness score must not fall below a threshold.
MDS030 empty-section-body heading ready Section headings must include meaningful body content.
MDS031 unclosed-code-block code ready Fenced code blocks must have a closing fence delimiter.
MDS032 no-empty-alt-text accessibility ready Images must have non-empty alt text for accessibility.
MDS033 directory-structure structural ready Markdown files must exist only in explicitly allowed directories.
MDS034 markdown-flavor structural ready Flags Markdown syntax that the declared target flavor does not render.
MDS035 toc-directive directive ready Flag renderer-specific TOC directives that render as literal text on CommonMark and goldmark.
MDS036 max-section-length heading ready Section length must not exceed per-level, per-heading, word, or paragraph limits.
MDS037 duplicated-content prose ready Paragraphs should not repeat verbatim across Markdown files.
MDS038 toc directive ready Keep toc generated heading lists in sync with document headings.
MDS039 build directive ready Validate <?build?> directive parameters and keep the section body in sync with the recipe's rendered body-template.
MDS040 recipe-safety directive ready Validate each build.recipes command for shell-safety at lint time; the rule never executes any binary.
MDS041 no-inline-html structural ready Raw HTML tags in Markdown are not allowed; use a Markdown construct or an mdsmith directive instead.
MDS042 emphasis-style prose ready Enforces a single delimiter character for bold and italic emphasis, and optionally forbids cross-delimiter nesting.
MDS043 no-reference-style link ready Reference-style links and footnotes require global definition resolution; flag them in favor of inline links.
MDS044 horizontal-rule-style whitespace ready Thematic breaks must use a consistent delimiter style, exact length, and blank-line spacing.
MDS045 list-marker-style list ready Unordered list items must use the configured bullet marker character.
MDS046 ordered-list-numbering list ready Ordered list items must be numbered in the configured style.
MDS047 ambiguous-emphasis prose ready Forbid emphasis sequences whose meaning a human cannot predict at a glance.
MDS048 git-hook-sync structural ready Git artifacts must match the canonical glob-based template derived from .mdsmith.yml.
MDS049 no-space-in-link-text link ready Link text and image alt text must not have leading or trailing whitespace inside the brackets.
MDS050 proper-names prose ready Configured proper names (e.g. JavaScript, GitHub) must appear with their canonical casing.
MDS051 single-h1 heading ready At most one H1 heading is allowed per file.
MDS052 no-space-in-code-spans whitespace ready Inline code spans with leading or trailing whitespace inside the backticks are almost always typos; flag them.
MDS053 no-unused-link-definitions link ready Every [label]: url definition must be consumed by at least one reference-style link or image; duplicate labels are flagged.
MDS054 no-undefined-reference-labels link ready Reference-style links and images must have a matching link reference definition in the same file.
MDS055 forbidden-paragraph-starts prose ready Paragraphs must not begin with any configured prefix.
MDS056 forbidden-text prose ready Paragraphs must not contain any configured substring.
MDS057 required-text-patterns prose ready Heading-bounded sections must match every configured regex.
MDS058 required-mentions prose ready Heading-bounded sections must contain every configured substring.
MDS059 blockquote-whitespace whitespace ready Blockquote markers must not be followed by multiple spaces, and adjacent blockquote blocks must not be separated by blank lines.
MDS060 occurrence prose ready A scope must contain each configured token or pattern between min and max times (inclusive). Counts prose only; fenced and indented code blocks are excluded.
MDS061 list-marker-space list ready Each list marker must be followed by the configured number of spaces.
MDS062 link-validity link ready Links must not use the reversed (text)[url] form, and every link or image must have a non-empty destination; a link must also have visible text.
MDS063 descriptive-link-text prose ready Link text must be descriptive. Non-descriptive phrases like "click here", "here", "link", and "more" fail screen readers and link-list navigation.
MDS064 atx-heading-whitespace heading ready ATX heading whitespace and indentation.
MDS065 code-block-style code ready Code blocks must use a single delimiter — fenced or four-space indented — consistently across the file.
MDS066 commands-show-output code ready A fenced code block whose every non-blank line begins with $ and shows no output must drop the prompt.
MDS067 callout-type structural ready Validate Obsidian callout types against an allowed set.
MDS068 link-style link ready Flag links and images whose path, extension, form, or link-image-style deviates from the project's declared links.style policy.
MDS069 unique-frontmatter structural ready Every file in the configured glob scope must hold a distinct value in the configured front-matter field.
MDS070 same-file-anchor link ready Every same-file #fragment link must resolve to a heading present in the same file.
MDS071 required-frontmatter structural ready Every file in the configured glob scope must declare each named front-matter field with a present, non-empty value.
MDS072 external-link-check link ready Probe external http and https URLs; flag any returning a transport error or 4xx/5xx response.
MDS073 slide-structure structural ready Flags Slidev slide-structure errors: unknown layouts, missing or orphaned slot separators, missing layout-required fields, and misspelled per-slide frontmatter keys.

Directive rules

Rules whose nature: directive front matter marks them as <?...?> directive implementations. Filtered from the same source as the table above.

Rule Name Description
MDS019 catalog Catalog content must reflect selected front matter fields from files matching its glob.
MDS021 include Include section content must match the referenced file.
MDS038 toc Keep toc generated heading lists in sync with document headings.
MDS039 build Validate <?build?> directive parameters and keep the section body in sync with the recipe's rendered body-template.