{"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"presets","__idx":0},"children":["Presets"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A preset is a named set of Recheck rules."," ","Add presets to the root ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["extends"]}," of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["redocly.yaml"]},", and adjust their rules in the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/cli/v2/configuration/reference/recheck"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck"]}," block"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"extends:\n  - recheck/markdown\n  - recheck/prose\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Presets merge in the order listed, so a later preset overrides an earlier one for the same rule key."," ","The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck"]}," block of the same file merges last."," ","An unknown preset name such as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/nope"]}," is a configuration error."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"structural-presets","__idx":1},"children":["Structural presets"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["These presets contain the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/cli/v2/recheck/rules"},"children":["Markdown rules"]},"."," ","Their rule keys start with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recheckmarkdown","__idx":2},"children":["recheck/markdown"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All 53 markdownlint rules at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error"]},", with the upstream default options."," ","This is the preset the command uses when there is no ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["redocly.yaml"]},"."," ","It is the equivalent of markdownlint's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["default: true"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recheckmarkdown-relaxed","__idx":3},"children":["recheck/markdown-relaxed"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The same 53 rules as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/markdown"]},", with eleven rules turned off, the same as markdownlint's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["relaxed"]}," style:"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["no-trailing-spaces"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["no-hard-tabs"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["no-multiple-blanks"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["no-multiple-space-blockquote"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["no-blanks-blockquote"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["line-length"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ul-indent"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["no-inline-html"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["no-bare-urls"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fenced-code-language"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["first-line-h1"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recheckminimal","__idx":4},"children":["recheck/minimal"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Five rules that catch mistakes rather than enforce a style: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["no-trailing-spaces"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["no-hard-tabs"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["single-trailing-newline"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["no-reversed-links"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["no-empty-links"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recheckmarkdoc","__idx":5},"children":["recheck/markdoc"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Four rules that check Markdoc tag syntax such as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{% tag attr=\"value\" %}"]},"."," ","They run only when the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck"]}," block also turns on ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/cli/v2/recheck/markdoc"},"children":["Markdoc parsing"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["markdoc: true"]},"."," ","Without it, the command prints a warning that the rules can never report."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Rule"},"children":["Rule"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Severity"},"children":["Severity"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Checks"},"children":["Checks"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/markdoc-syntax"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Malformed tag spans, unquoted attribute values, and close tags that carry attributes."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/markdoc-pairing"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unclosed, orphaned, or crossed tag pairs, and a self-closing tag written with a close tag."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/markdoc-unknown-tag"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A tag name the schema does not declare."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/markdoc-attributes"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A missing required attribute, a value outside the attribute's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enum"]},", a wrong type, or a duplicate attribute. An unknown attribute name is always reported at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]},", whatever the rule's severity."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recheckapi-descriptions","__idx":6},"children":["recheck/api-descriptions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/markdown"]}," rules without the seven that do not fit Markdown embedded in another document, such as an OpenAPI ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]}," field: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["single-h1"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["first-line-h1"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["front-matter"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["single-trailing-newline"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["link-fragments"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["line-length"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ul-indent"]},"."," ","The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck"]}," command does not lint API descriptions yet, so this preset is for a later release."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prose-presets","__idx":7},"children":["Prose presets"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["These presets contain ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/cli/v2/recheck/assertions"},"children":["prose rules"]},"."," ","Add them next to a structural preset, because they check words and not Markdown syntax."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recheckprose","__idx":8},"children":["recheck/prose"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A small starter set, all at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]},", scoped to prose so that code samples and front matter are never touched:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Rule"},"children":["Rule"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Checks"},"children":["Checks"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/repetition"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["An adjacent repeated word, such as \"the the\". Fixable."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/consistency"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["One spelling per file for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["behavior"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["behaviour"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["color"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["colour"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["license"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["licence"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["organize"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["organise"]},". Fixable."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/capitalization"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Headings use sentence case. Detection-only, because an automatic fix lowercases proper nouns that are not in the exceptions list."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["extends: [recheck/markdown, recheck/prose]"]}," replaces a markdownlint plus Vale setup in one line."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recheckgoogle","__idx":9},"children":["recheck/google"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rules adapted from the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://developers.google.com/style"},"children":["Google developer documentation style guide"]}," (CC BY 4.0)."," ","The 99 rules cover heading, list, table, and link structure, sentence-case headings, sentence length, voice and contractions, plain language, product naming, and inclusive terminology."," ","Rule keys start with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["google/"]},"."," ","Structural rules are ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error"]},"; word choice and punctuation rules are ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]},"."," ","Every rule is detection-only."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each rule links to its source page in the guide."," ","The provenance of every rule, and every guide entry that was considered and left out, is recorded in ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://github.com/Redocly/redocly-cli/blob/main/packages/recheck/presets/google/PROVENANCE.md"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["presets/google/PROVENANCE.md"]}]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recheckmicrosoft","__idx":10},"children":["recheck/microsoft"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rules adapted from the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://learn.microsoft.com/en-us/style-guide/welcome/"},"children":["Microsoft Writing Style Guide"]}," (CC BY 4.0)."," ","The 93 rules cover structure, the guide's numeric limits (paragraph length, list length, comma density, alt text length), the \"use contractions\" rule, US spelling, bias-free terminology, and a large A-Z word list."," ","Rule keys start with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["microsoft/"]},"."," ","Structural rules and the unconditional word list entries are ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error"]},"; voice and punctuation rules are ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]},"."," ","Every rule is detection-only."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Unlike ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/google"]},", this preset flags the input-specific verbs ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["click"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["press"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hit"]}," in favor of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["select"]},"."," ","The provenance is in ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://github.com/Redocly/redocly-cli/blob/main/packages/recheck/presets/microsoft/PROVENANCE.md"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["presets/microsoft/PROVENANCE.md"]}]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recheckinclusive-language","__idx":11},"children":["recheck/inclusive-language"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Eleven rules for terms that both the Google and the Microsoft guides say to avoid, such as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["master"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["slave"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["blacklist"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["whitelist"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["he/she"]},", and ableist phrases."," ","Rule keys start with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["inclusive-language/"]},"."," ","All rules are ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]}," and detection-only."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Because the preset is the intersection of the two style guides, most of its rules duplicate a rule in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/google"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/microsoft"]},"."," ","Use it on its own or with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/prose"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recheckplain-language","__idx":12},"children":["recheck/plain-language"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ten rules from the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://digital.gov/guides/plain-language"},"children":["US federal plain language guidance"]}," (public domain): paragraph length, filler phrases, complex words, redundant pairs, double negatives, jargon, and excess intensifiers."," ","Rule keys start with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["plain-language/"]},"."," ","The paragraph length rules are ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error"]},"; the rest are ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]},"."," ","All rules are detection-only."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The RFC 2119 keyword ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["shall"]}," is never flagged, because API documentation uses it with a defined meaning."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"rechecktechnical-english","__idx":13},"children":["recheck/technical-english"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Three rules that follow the principles of ASD-STE100 Simplified Technical English: at most 25 words per sentence (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]},"), at most 6 sentences per paragraph (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]},"), and a passive voice heuristic (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["info"]},")."," ","Rule keys start with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["technical-english/"]},"."," ","The preset reproduces no part of the standard and not its dictionary."," ","For word choice, add ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck/plain-language"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["ASD-STE100 Simplified Technical English is a copyright and a trademark of ASD, Brussels, Belgium."," ","This preset is an independent work that ASD does not review or endorse."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"tune-a-preset","__idx":14},"children":["Tune a preset"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recheck"]}," block wins over every preset."," ","Set a rule to a severity string to change how it reports:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"extends:\n  - recheck/markdown\n  - recheck/microsoft\nrecheck:\n  rules:\n    microsoft/az-navigation: off # turn a rule off\n    microsoft/heading-sentence-case: warn # downgrade an error\n    recheck/line-length:\n      severity: warn\n      assertions:\n        line-length:\n          lineLength: 120\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To silence one occurrence instead of the whole rule, use an ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/cli/v2/recheck/suppress-findings#inline-directives"},"children":["inline directive"]},"."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Assertion options replace, they do not merge"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A rule's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["assertions"]}," merge by assertion id, not by option."," ","If you set one option on a preset's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swap"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pattern"]}," assertion, your object replaces the preset's whole assertion, including its ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pairs"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tokens"]},"."," ","The config then fails validation with a message such as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swap requires a \"pairs\" object"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To reject one term from a bundled word list, turn the rule off, restate the whole list, or use an inline directive on each occurrence."," ","The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["exceptions"]}," option of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["capitalization"]}," and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ignore"]}," option of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["spelling"]}," compose with the built-in lists, so they do not have this edge."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"example-configs","__idx":15},"children":["Example configs"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The repository ships a generated example config for each style guide preset under ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://github.com/Redocly/redocly-cli/tree/main/packages/recheck/examples"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["packages/recheck/examples/"]}]},"."," ","Each file shows the two-line ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["extends"]}," to paste, the tuning patterns that work, and the preset's full resolved rule set for reference."]}]},"frontmatter":{"seo":{"title":"Recheck presets","description":"The rule sets that the recheck command can extend, and how to combine and tune them."}},"tagList":["admonition"],"title":"Recheck presets","lastModified":"2026-10-05T09:58:30.000Z"}