CI checks are available on the Growth and Enterprise plans, or as paid add-ons. Please contact sales for more information.

To begin, you will need to have followed the steps on the GitHub page and have the Mintlify GitHub app installed on your repository.

Configuration

You can configure the CI checks enabled for a deployment on the Mintlify dashboard by navigating to the ‘Add-Ons’ tab. There you can enable or disable the checks you’d like to run.

When enabling checks, you can choose to run them at a Warning or Blocking level.

A Blocking level check will provide a failure status if not passed, or changes are suggested.

A Warning level check will never provide a failure status, even if there is an error or suggestions.

When Do They Run?

CI checks are configured to run on pull requests against your configured deployment branch.

Available CI Checks

Similarly to how the CLI link checker works on your local machine, the GitHub app will automatically check your docs for broken links. To see the results of this check, you can visit the GitHub’s check results page for a specific commit.

Vale.sh

Vale.sh is an open-source rule-based prose linter which supports a range of document types, including Markdown and MDX.

Mintlify supports automatically running Vale.sh in a CI check, and displaying the results as a check status.

Configuration

If you have a .vale.ini file in the root the content directory for your deployment, we will automatically use that configuration file. We will also automatically use any configuration files in your specified stylesPath. For security reasons, we are unable to use any paths that reference files using .. or absolute paths.

Don’t have a Vale.sh config or not sure where to get started? Don’t worry, Mintlify has a default configuration that will automatically be used if one is not provided.
Packages

Vale.sh supports a range of packages, which can be used to check for spelling and style errors. Any packages you include in your repository under the correct stylesPath will be automatically installed and used in your Vale.sh configuration.

For packages not included in your repository, you may specify any packages from the Vale.sh package registry, and they will automatically be downloaded and used in your Vale.sh configuration.

Please note that for security reasons, we are unable to support automatically downloading packages that are not from the Vale.sh package registry.

Vale.sh with MDX

Vale.sh does not natively support MDX, but its author has provided a custom extension to support it.

If you’d prefer not to use this extension, we recommend the following lines in your .vale.ini file:

[formats]
mdx = md

[*.mdx]
CommentDelimiters = {/*, */}

TokenIgnores = (?sm)((?:import|export) .+?$), \
(?<!`)(<\w+ ?.+ ?\/>)(?!`), \
(<[A-Z]\w+>.+?<\/[A-Z]\w+>)

BlockIgnores = (?sm)^(<\w+\n .*\s\/>)$, \
(?sm)^({.+.*})

To use Vale.sh’s in-document comments, use MDX-style comments {/* ... */}. If you use the CommentDelimiters = {/*, */} setting in your configuration, Vale.sh will automatically interpret these comments while linting. This means you can easily use Vale’s in-built features, like skipping lines or sections.

{/* vale off */}

This text will be ignored by Vale

{/* vale on */}

If you choose not to use CommentDelimiters, but still choose to use Vale.sh’s comments, you must wrap any Vale.sh comments in MDX comments {/* ... */}. For example:

{/* <!-- vale off --> */}

This text will be ignored by Vale

{/* <!-- vale on --> */}

Please note that these comment tags are not supported within Mintlify components, but can be used anywhere at the base level of a document.