Skip to content
Mintlify
Mintlify
CLI

Mintlify CLI command reference

Complete reference for every Mintlify CLI command and flag, including mint dev, mint build, mint validate, mint broken-links, and more.

Global flags

These flags are available on all commands.

FlagDescription
--telemetry, -tEnable or disable anonymous usage telemetry.
--help, -hDisplay help for the command.
--version, -vDisplay the CLI version. Alias for mint version.

mint dev

Start a local preview of your documentation.

mint dev [flags]
FlagDescription
--portPort to run the local preview on. Defaults to 3000.
--no-openDo not open the browser automatically.
--groupsComma-separated list of user groups to mock for preview.
--disable-openapiSkip OpenAPI file processing to improve performance.
--disable-prefetchDisable navigation prefetching in the local preview. Useful for very large sites where background prefetching slows down page loads.
--local-schemaAllow locally hosted OpenAPI files served over HTTP.

mint signup

Create a new Mintlify account from the terminal.

mint signup [flags]
FlagDescription
--firstNameYour first name.
--lastNameYour last name.
--companyYour company name.
--emailEmail address for the account.

Run the command without flags to enter your details interactively. The CLI prompts for any value you do not pass as a flag.

After you submit your details, Mintlify sends a verification link to your email. The command waits until you click the link, then creates your account, logs you in, and stores your credentials. When it finishes, open the dashboard to connect your repository and start building.

mint signup does not return until you click the verification link, which can take several minutes. In scripts or automations, run it as a background process instead of waiting on it synchronously.

Examples

# Sign up interactively
mint signup

# Sign up with all details provided
mint signup \
  --firstName Jane \
  --lastName Doe \
  --company Acme \
  --email jane@acme.com

mint login

Authenticate with your Mintlify account.

mint login

Opens a browser window to complete authentication. If the browser does not open, the CLI displays a URL to open manually and a prompt to paste the authorization code. Credentials save in ~/.config/mintlify/config.json.

If you have more than one deployment, the CLI prompts you to select a default after you log in. You can change the default project later with mint config set subdomain <subdomain>.


mint logout

Remove stored credentials.

mint logout

mint status

Display your current session details including CLI version, account email, organization, and configured subdomain.

mint status

mint add-domain

Add a custom domain to your deployment from the terminal. Requires authentication with mint login.

mint add-domain <domain> [--basePath <path>]
ArgumentDescription
domainThe custom domain to add, like docs.example.com. Must be a bare hostname.
FlagDescription
--basePathServe your documentation at a subpath on the domain, like /docs. Must start with / and follow the base path requirements.

The command uses your configured subdomain from mint config. If you do not have a configured subdomain, it uses the first subdomain on your account.

After registering the domain, the CLI waits up to 10 seconds for DNS records to generate, then prints the TXT and CNAME records to add at your domain provider:

TXT _acme-challenge → <value>
TXT _cf-custom-hostname → <value>
CNAME @ → cname.mintlify.builders

Add the TXT records first, then add the CNAME once the verification records validate. See Custom domain for full DNS setup instructions, apex domain requirements, and TLS provisioning details.

If some TXT records are still generating when the command exits, check the Custom domain setup page in your dashboard for the remaining values.

When you pass --basePath, the CLI saves the base path after registering the domain. The new path takes effect on your next deploy, and your site continues serving from the current path until then. The CNAME sends all traffic on the domain to Mintlify, so only add it if the domain hosts nothing else. Otherwise, keep your existing DNS and set up a reverse proxy to Mintlify for the base path. See Host docs at a subpath for provider-specific guides.

Examples

Add a custom domain at the root:

mint add-domain docs.example.com

Add a custom domain and serve your documentation at /docs:

mint add-domain example.com --basePath /docs

mint automations

Create, list, and delete automations from the terminal. Requires authentication with mint login.

mint automations <subcommand> [flags]

mint workflow and mint workflows continue to work as aliases for mint automations, so existing scripts keep running. New scripts should use mint automations.

All subcommands accept these shared flags:

FlagDescription
--subdomainDocumentation subdomain. Defaults to the value set with mint config set subdomain, or the first project on your account.
--formatOutput format: table (default, pretty) or json (raw, machine-readable).

When --format json is set, errors print to stderr as Error: <message> and the command exits with a non-zero status, so you can pipe successful output into other tools.

mint automations create

Create a new automation. You can pass the automation definition inline with flags, or point at a JSON or YAML file with --file.

mint automations create [flags]
FlagDescription
--nameAutomation name. Required unless --file is provided.
--promptInstructions appended to the automation’s base prompt on every run.
--typeAutomation type. One of changelog, source-code-agent, translations, writing-style, typo-check, broken-link-detection, seo-metadata-audit, assistant-docs-updates, or contextual-feedback-docs-updates. Omit for a custom automation.
--cronCron expression for a scheduled trigger. Mutually exclusive with --push-repo.
--push-repoRepository (owner/repo) for a push trigger. Repeatable to listen to multiple repositories. Mutually exclusive with --cron.
--context-repoAdditional context repository (owner/repo) the agent reads when the automation runs. Repeatable, up to 10 total.
--automergeAutomatically merge pull requests opened by this automation. See Configure automerge for setup requirements.
--filePath to a JSON or YAML file containing the full automation body. Overrides the inline flags.

Provide exactly one trigger: pass --cron for a scheduled automation or one or more --push-repo flags for a push-triggered automation.

Examples

# Scheduled translations automation
mint automations create \
  --name "Translate content" \
  --type translations \
  --cron "0 6 * * *"

# Push-triggered automation with extra context
mint automations create \
  --name "Sync API reference" \
  --type source-code-agent \
  --push-repo my-org/api \
  --context-repo my-org/shared-types \
  --automerge

# Create from a file
mint automations create --file automation.yaml

An automation file uses the same shape as the inline flags. The on field holds the trigger:

name: Translate content
type: translations
on:
  cron: "0 6 * * *"
prompt: Prefer formal tone in French translations.
automerge: false
context:
  - repo: my-org/shared-content

mint automations list

List automations for the current deployment.

mint automations list [flags]

The default table output shows each automation’s ID, name, type, trigger, and status. Use --format json to get the full automation objects.

mint automations delete

Delete an automation by ID. Use mint automations list to get the ID.

mint automations delete <id> [flags]
ArgumentDescription
idAutomation schema ID to delete.

mint config

Manage persistent default values for CLI commands. The configuration saves in ~/.config/mintlify/config.json.

mint config <subcommand> <key> [value]
SubcommandDescription
set <key> <value>Set a configuration value.
get <key>Display a configuration value.
clear <key>Remove a configuration value.

Configuration keys

KeyDescriptionUsed by
subdomainDefault documentation subdomain.mint automations

Check for broken internal links in your documentation.

mint broken-links [flags]

The command scans .mdx and .md files for links and excludes files matching .mintignore patterns. Links inside OpenAPI specification files (.yaml, .yml, .json) are not checked. Links that point to ignored files report as broken.

FlagDescription
--filesOne or more file paths or globs to check. Defaults to the whole site.
--check-anchorsAlso validate anchor links (for example, /page#section) against heading slugs.
--check-externalAlso check external URLs for broken links.
--check-redirectsAlso check that redirect destinations in docs.json resolve to valid paths.
--check-snippetsAlso check links inside <Snippet> components.

Pass --files to limit the check to specific pages. This is useful for validating a single page you just edited or scoping checks to a directory in CI. When --files is set with --check-external, only external URLs on the selected pages are fetched.

# Check a specific page
mint broken-links --files introduction.mdx

# Check pages matching a glob
mint broken-links --files "guides/**/*.mdx"

# Pass multiple paths
mint broken-links --files introduction.mdx "guides/**/*.mdx"

mint a11y

Check for accessibility issues in your documentation.

mint a11y [flags]

Checks color contrast ratios and missing alt text on images and videos.

FlagDescription
--skip-contrastSkip color contrast checks.
--skip-alt-textSkip missing alt text checks.

mint validate

Validate your documentation build in strict mode. Exits with an error if there are any warnings or errors. Includes automatic validation of OpenAPI specifications referenced in your docs.json.

mint validate [flags]
FlagDescription
--groupsComma-separated list of user groups to mock for validation.
--disable-openapiSkip OpenAPI file processing and validation.
--local-schemaAllow validation of locally hosted OpenAPI files served over HTTP. Only supports HTTPS in production.

Use mint validate instead of the deprecated standalone mint openapi-check command.


mint export

Export your documentation as a self-contained zip archive for offline viewing and distribution.

mint export [flags]
FlagDescription
--outputOutput filename. Defaults to export.zip.
--groupsComma-separated list of user groups to include restricted pages for.
--disable-openapiSkip OpenAPI processing.

See Offline export for details.


mint score

Run agent readiness checks against a public documentation site. Requires authentication with mint login.

mint score [url] [flags]
ArgumentDescription
urlOptional. URL of the docs site to check. If omitted, the command scores your configured subdomain (from mint config or the subdomain associated with your logged-in account).
FlagDescription
--formatOutput format: table (default, colored), plain (pipeable TSV), or json.

The command displays an overall readiness score and a breakdown of individual checks with pass/fail indicators.

Examples

# Score your default subdomain
mint score

# Score a specific site
mint score docs.example.com

Checks

The score evaluates the following areas:

CheckWhat it verifies
llmsTxtExistsAgents can reach an llms.txt file at the site root.
llmsTxtValidThe llms.txt file follows the expected format with headings, blockquote summary, and Markdown links.
llmsTxtSizeThe llms.txt file is within the size threshold so agents can consume it without truncation.
llmsTxtLinksResolveLinks inside llms.txt resolve to live pages.
llmsTxtLinksMarkdownLinks inside llms.txt use Markdown syntax.
llmsTxtDirectiveThe llms.txt file contains usage directives.
llmsTxtFullExistsAn llms-full.txt file is available for agents that need the complete content. Runs independently of llmsTxtExists.
llmsTxtFullSizeThe llms-full.txt file is within a reasonable size for agents to process.
llmsTxtFullValidThe llms-full.txt file contains valid content with headings.
llmsTxtFullLinksResolveLinks inside llms-full.txt resolve to live pages.
skillMdAgents can reach a skill.md file for agent tool use.
contentNegotiationMarkdownThe site returns Markdown when agents request it through content negotiation.
contentNegotiationPlaintextThe site returns plain text when agents request it through content negotiation.
mcpServerDiscoverableAgents can discover an MCP server for tool-based agents.
mcpToolCountThe MCP server exposes at least one tool.
openApiSpecThere is an available OpenAPI or Swagger specification at a standard path.
robotsTxtAllowsAIThe robots.txt file does not block AI crawlers.
sitemapExistsThere is a sitemap available for page discovery.
structuredDataThe homepage contains JSON-LD structured data (<script type="application/ld+json">). Reports the number of JSON-LD blocks and the schema types found.
responseLatencyThe site responds within an acceptable time for agents.

Some checks only run if a check they depend on passes. If a check fails, none of the checks that depend on it run. They automatically fail. For example, llmsTxtValid only passes if llmsTxtExists passes first.

The overall score uses weighted scoring, so higher-impact checks contribute more to your score.


mint deslop

Check documentation pages for AI-sounding prose and get rewrite suggestions. Requires authentication with mint login.

mint deslop [files...] [flags]
ArgumentDescription
filesOptional. Paths or globs to check. If omitted, the command checks the .md and .mdx pages that changed in your working tree (Git diff plus untracked files).
FlagDescription
--formatOutput format: table (default, colored), plain (pipeable), or json.
--subdomainDocumentation subdomain to check against. Defaults to your configured subdomain.
--thresholdFail a page when the sum of its AI-generated and AI-assisted fractions is greater than this value, from 0 to 1. Defaults to 0.5.
--fix-whitespaceNormalize prose whitespace in the checked files (trailing spaces, blank-line runs, and invisible Unicode characters). Skips code blocks and frontmatter.

For each flagged page, the command reports the AI-written fraction, the specific passages that read as AI-generated with their line numbers, and suggested human-style rewrites.

Each checked page consumes one AI credit. The command skips pages under 50 words and does not charge for them. If any page is at or above the threshold, or if a check returns an error, the command exits with code 1. If every page is clean, the command exits with code 0. This lets you run the command in a rewrite loop or in CI.

Examples

# Check pages changed in your working tree
mint deslop

# Check a specific page
mint deslop docs/guide.mdx

# Check every MDX page and emit JSON for scripting
mint deslop "docs/**/*.mdx" --format json

# Also clean up whitespace in the checked files
mint deslop docs/guide.mdx --fix-whitespace

mint format

Format every .mdx file in the current directory to Mintlify’s canonical style. The command parses each file with the same MDX parser the web editor uses, then rewrites it in place if the canonical output differs.

mint format

Run the command from the root of your docs project. It walks every subdirectory, skipping paths matched by .gitignore and any Mintlify ignore rules. Files that already match the canonical output are left untouched.

mint format rewrites files in place. Commit or stash your changes before running it so you can review the diff.

When it finishes, the command prints how many MDX files were reformatted and how many failed to parse. If any file fails, the command exits with code 1 and prints the file path and error, so you can run it in CI to enforce consistent formatting.


mint new

Create a new documentation project by picking a theme or cloning a pre-defined template from the mintlify/templates repository.

mint new [directory] [flags]
FlagDescription
--nameProject name. The CLI prompts for this if not provided in interactive mode.
--themeProject theme. The CLI prompts for this if not provided in interactive mode.
--templatePre-defined template. The CLI prompts for this if not provided in interactive mode.
--forceOverwrite the directory without prompting.

mint update

Update the CLI to the latest version.

mint update

mint version

Display the current CLI and client versions.

mint version

Coming soon

These commands are available to run but are not yet functional. Running them records your interest through CLI telemetry and helps prioritize what ships next.

CommandDescription
mint aiAI-powered documentation tools.
mint testDocumentation testing.
mint mcpMCP server for documentation.

Telemetry

The CLI collects anonymous usage telemetry to help improve Mintlify. Telemetry data includes the command name, CLI version, operating system, and architecture. Mintlify does not collect personally identifiable information, project content, or file paths.

By default, the CLI collects telemetry data. You can opt out at any time using the --telemetry flag:

# Disable telemetry
mint --telemetry false

# Re-enable telemetry
mint --telemetry true

You can also disable telemetry by setting one of these environment variables:

VariableValueDescription
MINTLIFY_TELEMETRY_DISABLED1Disable Mintlify CLI telemetry.
DO_NOT_TRACK1Disable telemetry using the Console Do Not Track standard.

Your preference saves in ~/.config/mintlify/config.json and persists across CLI sessions.

Was this page helpful?Suggest editsRaise issue