Skip to content

One linter for how your docs are built – and how they read.

Recheck checks Markdown structure and writing style from a single config – headings, lists, and links alongside spelling, word choice, and house style.

It replaces markdownlint and Vale, runs just as fast, and drops into any tool that touches Markdown.

  • 53 markdownlint rules
  • Vale-style prose scopes
  • MIT licensed
README.md Recheck
1
# Getting started
2
3
### Install the SDK
4
Then initialise the client and pick a
5
colour scheme for the output.
heading-incrementHeading jumps from h1 to h3structure
us-spellingPrefer “initialize”, “color”prosefixable

Good docs have to pass two very different tests.

Most teams wire up markdownlint for the first and Vale for the second: two tools, two config files, two mental models to keep in sync.

Recheck does both, from one config.

One test is structural – are headings ordered, links valid, lists consistent, code fences closed?
The other is editorial – is the spelling right, the terminology consistent, the voice on-brand?

How the document is built

The mechanics that decide whether Markdown renders the way you meant.

  • heading-increment
  • no-duplicate-heading
  • ul-style
  • link-fragments
  • fenced-code-language
  • table-column-count

How the writing reads

The editorial choices that decide whether it sounds like one team wrote it.

  • us-spelling
  • inclusive-language
  • oxford-comma
  • no-gerund-headings
  • sentence-length
  • house-terms

Two jobs. One tool, one config, one report.

Everything a docs linter should be, and nothing you have to babysit.

Parity

Structure and prose, in one pass. Full markdownlint parity – all 53 built-in rules, most of them auto-fixable – plus Vale-style prose scopes that check sentences, paragraphs, and headings for spelling, word choice, and house style.

Config

A config you’ll actually keep. Start with one line: extends: [recheck/markdown]. Switch on prose rules when you want them. No second tool to install, no second config drifting out of sync.

Engine

Fast, and exact about where. A real Markdown parser – not regular expressions – means precise line-and-column positions, safe auto-fixes, and speed on par with markdownlint across thousands of files.

Embed

Made to live inside other tools. A library-first API lets any tool add Markdown and prose linting – including the Markdown tucked inside your API descriptions. It’s built to power Redocly CLI’s docs checks.

Point it at your docs. Get one clear report.

Extend the Markdown preset, add any prose rules you care about, and run. Recheck finds the problems, tells you exactly where, and fixes the safe ones for you.

recheck.config.yaml
extends: [recheck/markdown]
# turn on a house-style prose rule
recheck/us-spelling:
severity: error
>_$ recheck docs/
312 files53 rulesprose on6 fixed

One engine, wherever your Markdown lives.

Recheck is a library first and a command second.

Parse once, get a real syntax tree, and lint files or in-memory strings – so the same rules that check your .md files can check the Markdown inside an OpenAPI description, a CMS field, or an editor as you type.

parseMarkdown(content)
token tree
lintContent(text, config)
problems
lintFiles(paths, config)
problems + fixes
extractScopes(tree)
sentences, headings…

Bring your rules. Keep your speed.

npx @redocly/cli recheck docs