From 57792ede62272b22a99762e3074c966a74177f1b Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Tue, 27 Oct 2026 03:56:50 +0000 Subject: [PATCH 1/4] docs: document link resolution and coverage in mint broken-links --- agent-context/context/skills/mintlify/reference/cli.md | 2 +- cli/commands.mdx | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/agent-context/context/skills/mintlify/reference/cli.md b/agent-context/context/skills/mintlify/reference/cli.md index f337cdd8e6..68cd8d5ab6 100644 --- a/agent-context/context/skills/mintlify/reference/cli.md +++ b/agent-context/context/skills/mintlify/reference/cli.md @@ -23,7 +23,7 @@ Available on all commands. ## Content quality -- `mint broken-links` — Check for broken internal links. `--files ` limits the check to specific files or globs. `--check-anchors` validates `#` anchors. `--check-external` checks external URLs. `--check-redirects` checks that redirect destinations in `docs.json` resolve. `--check-snippets` checks that snippet import paths resolve. Relative and `#` links inside snippets are checked against each page that renders the snippet. +- `mint broken-links`: Check for broken internal links. `--files ` limits the check to specific files or globs. `--check-anchors` validates `#` anchors. `--check-external` checks external URLs. `--check-redirects` checks that redirect destinations in `docs.json` resolve. `--check-snippets` checks that snippet import paths resolve. Checks Markdown links and images (including reference-style `[text][id]` links), `href` on `` and ``, and `src` on `` and ``, written as a string or a fixed value in braces (`href={"/a"}`); values computed from variables are skipped. Paths without a leading `/` (for example, `next` or `../next`) resolve from the page's directory, as in the browser; start with `/` to link from the site root. Inside snippets, these and `#` links are checked against each page that renders the snippet. - `mint a11y` — Accessibility checks (alt text, color contrast). `--skip-contrast` or `--skip-alt-text` to narrow scope. - `mint score [url]` — Score a docs site's AI/agent readiness. Checks llms.txt, MCP discoverability, robots.txt, sitemap, structured data, response latency, and more. Requires `mint login`. Defaults to your configured subdomain. `--format` accepts `table` (default), `plain`, or `json`. - `mint format` — Format every `.mdx` file in the current directory and its subdirectories in place. Respects `.gitignore` and Mintlify ignore rules. Commit or stash changes first so you can review the rewrite. diff --git a/cli/commands.mdx b/cli/commands.mdx index 4e27544283..4c60d0ebc0 100644 --- a/cli/commands.mdx +++ b/cli/commands.mdx @@ -333,7 +333,11 @@ mint broken-links [flags] The command scans `.mdx` and `.md` files for links and excludes files matching [.mintignore](/organize/mintignore) patterns. Links inside OpenAPI specification files (`.yaml`, `.yml`, `.json`) are not checked. Links that point to ignored files report as broken. -Relative links (`./`, `../`) and anchor links (`#`) inside a snippet are checked against each page that renders the snippet. The command reports one of these links only if it is broken on at least one of those pages. With `--check-anchors`, headings inside a snippet count as anchors on the pages that render it. +The command checks Markdown links and images, including reference-style links such as `[text][id]`. It also checks the `href` of `` and `` components and the `src` of `` and `` tags, whether written as a plain string or as a fixed value in braces, such as `href={"/quickstart"}`. Values computed from variables are not checked. + +Links without a leading `/`, such as `quickstart` or `../quickstart`, resolve from the directory of the page that contains them, the same way a browser resolves them. To link from the root of your site, start the path with `/`. + +Links without a leading `/` and anchor links (`#`) inside a snippet are checked against each page that renders the snippet. The command reports one of these links only if it is broken on at least one of those pages. With `--check-anchors`, headings inside a snippet count as anchors on the pages that render it. | Flag | Description | | --- | --- | From 046ad71ec15181b388300cbb3b1ac2891825c2d4 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Wed, 28 Oct 2026 12:51:10 +0000 Subject: [PATCH 2/4] chore: merge main and reconcile mint broken-links skill bullet --- .../context/skills/mintlify/SKILL.md | 10 +- .../context/skills/mintlify/reference/cli.md | 8 +- .../skills/mintlify/reference/navigation.md | 6 +- .../reference/publishing-and-review.md | 2 + agent/slack.mdx | 45 ++--- ai/mintlify-mcp.mdx | 40 ++++- ai/model-context-protocol.mdx | 8 +- api-playground/sdk-reference-setup.mdx | 2 + assistant/narration.mdx | 2 +- automations/reference.mdx | 2 +- autopilot.mdx | 6 +- changelog.mdx | 2 +- cli/agent-signup.mdx | 88 ++++++++++ cli/commands.mdx | 63 +++++++ create/personalization.mdx | 6 +- deploy/ci.mdx | 2 +- deploy/preview-deployments.mdx | 2 +- docs.json | 1 + editor/pages.mdx | 18 +- editor/review.mdx | 2 +- es.json | 1 + es/agent/slack.mdx | 131 +++++++++------ es/ai/mintlify-mcp.mdx | 46 ++++- es/ai/model-context-protocol.mdx | 8 +- es/api-playground/sdk-reference-setup.mdx | 2 + es/assistant/narration.mdx | 2 +- es/automations/reference.mdx | 2 +- es/changelog.mdx | 2 +- es/cli/agent-signup.mdx | 96 +++++++++++ es/cli/commands.mdx | 71 ++++++++ es/create/personalization.mdx | 6 +- es/deploy/ci.mdx | 2 +- es/deploy/preview-deployments.mdx | 2 +- es/editor/pages.mdx | 18 +- es/editor/review.mdx | 2 +- ...i-rename-my-deployment-or-organization.mdx | 2 +- ...xt-returns-404-but-llms-full-txt-works.mdx | 4 +- es/migration-services/go-live-checklist.mdx | 2 +- es/optimize/feedback.mdx | 4 +- es/optimize/search.mdx | 6 +- es/optimize/seo.mdx | 2 +- es/organize/navigation.mdx | 2 +- es/organize/related-pages.mdx | 2 +- es/quickstart.mdx | 4 + fr.json | 1 + fr/agent/slack.mdx | 143 +++++++++------- fr/ai/mintlify-mcp.mdx | 46 ++++- fr/ai/model-context-protocol.mdx | 8 +- fr/api-playground/sdk-reference-setup.mdx | 2 + fr/assistant/narration.mdx | 2 +- fr/automations/reference.mdx | 2 +- fr/changelog.mdx | 2 +- fr/cli/agent-signup.mdx | 96 +++++++++++ fr/cli/commands.mdx | 71 ++++++++ fr/create/personalization.mdx | 6 +- fr/deploy/ci.mdx | 2 +- fr/deploy/preview-deployments.mdx | 2 +- fr/editor/pages.mdx | 18 +- fr/editor/review.mdx | 2 +- ...i-rename-my-deployment-or-organization.mdx | 2 +- ...xt-returns-404-but-llms-full-txt-works.mdx | 4 +- fr/migration-services/go-live-checklist.mdx | 2 +- fr/optimize/feedback.mdx | 4 +- fr/optimize/search.mdx | 6 +- fr/optimize/seo.mdx | 2 +- fr/organize/navigation.mdx | 2 +- fr/organize/related-pages.mdx | 2 +- fr/quickstart.mdx | 4 + guides/knowledge-base.mdx | 2 +- ...i-rename-my-deployment-or-organization.mdx | 2 +- ...xt-returns-404-but-llms-full-txt-works.mdx | 4 +- migration-services/go-live-checklist.mdx | 2 +- optimize/feedback.mdx | 4 +- optimize/search.mdx | 6 +- optimize/seo.mdx | 2 +- organize/navigation.mdx | 2 +- organize/related-pages.mdx | 2 +- quickstart.mdx | 4 + skill.md | 7 +- snippets/agent-setup-workflow.mdx | 18 +- snippets/es/agent-setup-workflow.mdx | 18 +- snippets/fr/agent-setup-workflow.mdx | 18 +- snippets/zh/agent-setup-workflow.mdx | 18 +- zh.json | 1 + zh/agent/slack.mdx | 159 ++++++++++-------- zh/ai/mintlify-mcp.mdx | 46 ++++- zh/ai/model-context-protocol.mdx | 8 +- zh/api-playground/sdk-reference-setup.mdx | 2 + zh/assistant/narration.mdx | 2 +- zh/automations/reference.mdx | 2 +- zh/changelog.mdx | 2 +- zh/cli/agent-signup.mdx | 96 +++++++++++ zh/cli/commands.mdx | 71 ++++++++ zh/create/personalization.mdx | 6 +- zh/deploy/ci.mdx | 2 +- zh/deploy/preview-deployments.mdx | 2 +- zh/editor/pages.mdx | 18 +- zh/editor/review.mdx | 2 +- ...i-rename-my-deployment-or-organization.mdx | 2 +- ...xt-returns-404-but-llms-full-txt-works.mdx | 4 +- zh/migration-services/go-live-checklist.mdx | 2 +- zh/optimize/feedback.mdx | 4 +- zh/optimize/search.mdx | 6 +- zh/optimize/seo.mdx | 2 +- zh/organize/navigation.mdx | 2 +- zh/organize/related-pages.mdx | 2 +- zh/quickstart.mdx | 4 + 107 files changed, 1322 insertions(+), 399 deletions(-) create mode 100644 cli/agent-signup.mdx create mode 100644 es/cli/agent-signup.mdx create mode 100644 fr/cli/agent-signup.mdx create mode 100644 zh/cli/agent-signup.mdx diff --git a/agent-context/context/skills/mintlify/SKILL.md b/agent-context/context/skills/mintlify/SKILL.md index 465fcbe82e..b4191d1fc8 100644 --- a/agent-context/context/skills/mintlify/SKILL.md +++ b/agent-context/context/skills/mintlify/SKILL.md @@ -27,7 +27,7 @@ Read these files **only when your task requires them**. They are in the `referen ## Starting a new docs site -If the user wants a new docs site, wants to publish docs, or has no `docs.json` yet, run this workflow yourself. Ask the user only for information or approvals you cannot supply. Do not send them to a browser-first quickstart when you can run terminal commands. +If the user wants a new docs site, wants to publish docs, or has no `docs.json` yet, run this workflow yourself. Ask the user only for information or approvals you cannot supply. Recommend CLI onboarding. If the user prefers to onboard in the browser, or you cannot run terminal commands, send them to [mintlify.com/start](https://mintlify.com/start). 1. Check `node --version` (v20.17.0 or newer). Run `mint --version`; if missing, install with `npm i -g mint`. If it's installed, run `mint update`. 2. Run `mint status`. If it shows an organization, use the existing account. Otherwise, ask whether the user has a Mintlify account. If they do, run `mint login`. If not, ask for first name, last name, company, and email and run `mint signup --firstName --lastName --company --email ` as a background process. It waits for email verification. Tell the user to click the verification link and finish onboarding in the browser. Never invent signup details. @@ -73,18 +73,20 @@ Write access to a Mintlify project. Requires OAuth on first use. Complete authen Use this server when the user wants to edit their Mintlify content, restructure navigation, or open a pull request. Every content tool takes a `branch` argument: required on edits, `publish`, `discard` and comment writes, optional on reads (defaults to the deploy branch). Nothing is remembered between calls, so pass `branch` every time. Edits on the deploy branch land as unpublished changes until you call `publish`. Edits on any other branch go through a pull request. Project management tool changes apply immediately to the live project without a branch or pull request. -Workflow: use `read`/`search`/`edit_page`/`write_page`/`list_nodes`/`create_node`/`update_node`/`move_node`/`delete_node`/`update_config` with a `branch` to make changes, then call `publish` with the `branch` and a `title` to publish (or `discard` to abandon). Pass the deploy branch to edit it directly. If the project requires a pull request (**Push directly to your deploy branch** is off, branch protection requires pull requests, deploy branch editing is locked, or the connection uses a client or machine-to-machine token), edits to the deploy branch are refused with the reason and change nothing. Call `create_branch` and pass its `branchName` as `branch` instead. +Workflow: use `read`/`search`/`edit_page`/`write_page`/`list_nodes`/`create_node`/`update_node`/`move_node`/`delete_node`/`update_config` with a `branch` to make changes, then call `publish` with the `branch` and a `title` to publish (or `discard` to abandon). Pass the deploy branch to edit it directly. If the project requires a pull request (**Push directly to your deploy branch** is off, branch protection requires pull requests, deploy branch editing is locked, or the connection uses a client or machine-to-machine token), edits to the deploy branch are refused with the reason and change nothing. Call `create_branch` and pass its `branchName` as `branch` instead. Projects with auto publish turned on have no branches: pass the deploy branch, where edits are committed automatically. `create_branch` and other branches are refused there, and pull request requirements don't apply. Key tools: - **`create_branch`** — Start a new branch off the deploy branch with a `title` that also names its pull request. Returns `branchName` and a branch-level `editorUrl` to preview changes live. On a branch, Mintlify commits edits automatically about 15 seconds after the last change, and the first commit opens a pull request. - **`list_branches`** — List existing branches; pass any of them as `branch`. Branches that don't exist are refused. - **`list_deployments`** — Discover which project(s) this connection can access. -- **`read`** / **`search`** — Fetch a page's MDX or search across pages. +- **`read`** / **`search`**: Fetch a page's MDX or search across pages. `read`, `edit_page` and `write_page` take a page path (such as `guides/setup`) or the last segment of an editor URL, which is the page ID with an optional title in front of it. With a page ID from an editor URL, pass that URL's branch as `branch`. `read` returns a `filePath` to pass as `path` to `edit_page` and `write_page`. - **`edit_page`** / **`write_page`**: Apply targeted edits or overwrite a page. `edit_page` takes `oldString` and `newString` for one replacement, or an `edits` list of up to 100 replacements applied in order; if any edit fails, none apply. Both return `notRendered` for markup the editor drops (such as `