Files
mintlify__docs/reference/concepts.mdx
Ethan Palm 9a4ec7b557 Editor docs overhaul (#7112)
* Fix editor docs accuracy, split media page, clear translation orphans

Accuracy fixes, each verified against mintlify/mint or mintlify/server:

- pages.mdx: "Editors and managers can restore them" -> "admins".
  "Manager" is not a Mintlify role.
- index.mdx: publishing on a feature branch does not automatically open a
  pull request; you choose commit-to-branch or PR. Contradicted the
  branching page's own table.
- branching-and-publishing.mdx: preview deployments build when you open a
  pull request, not on every branch save. Confirmed in gitlabWebhooks
  (handleMergeRequestOpenEvent) and cruxWebhooks (keyed on reviewId).
  tutorial.mdx was already correct.
- settings.mdx: rewritten against editor-settings-form.tsx. The panel has
  four sections, not "two layers", and the entire Appearance section was
  undocumented - including "Open live preview in new tab", which
  live-preview.mdx already linked readers to. Corrected three setting
  labels, noted that draft PRs default to on, added the 20,000-character
  instruction limit.
- live-preview.mdx: link now resolves to /editor/settings#appearance.

De-bloat:

- Split the media section out of pages.mdx (172 lines, 15 subtopics) into
  editor/media.mdx and added it to the nav.
- Trimmed index.mdx from 11 sidebar-duplicating cards to 4.

Translation orphans and redirects:

- Deleted 7 translated files whose English source was removed in April and
  June. The translate automation never cleaned them up, and in PR #6062 it
  wrote into es|fr|zh/editor/media.mdx 34 days after the English source was
  deleted.
- Dropped /editor/media -> /editor/pages so it stops shadowing the
  recreated page.
- Added /{es,fr,zh}/editor/publish, completing an English-only redirect.
- Added /editor/collaborate and its language variants. That page was
  deleted in June with no redirect and has been a live 404 since.

mint broken-links clean, mint a11y clean, vale 0/0/0 on changed files.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* Restructure editor docs: 14 pages to 9, cut UI description

The editor section had grown to 14 pages, about 40% of which described
things a user can see on screen. The ratio was 105 field-enumeration
bullets to 42 procedural steps.

New structure, organized around what is invisible rather than what is
on screen:

  Overview      absorbs git-essentials (concepts + the Git mapping table)
  Tutorial      unchanged
  Edit content  absorbs media and navigation
  Publish       branch mechanics, conflicts, git sync, commit signing
  Review        previews, pull requests, approve and merge
  Collaborate   comments + suggestions + real-time editing
  Editor agent  trimmed
  Settings      absorbs configurations as a pointer
  Keyboard shortcuts  unchanged

Removed: git-essentials, media, navigation, live-preview, comments,
suggestions, configurations, branching-and-publishing. Added: publish,
review, collaborate.

configurations.mdx was the clearest cut. It was a 193-line field-by-field
mirror of the Site configurations panel, which is a third rendering of
information already in the docs.json schema and in organize/settings-*
(2,694 lines). It is now a short section in settings.mdx covering only
what is specific to editing configuration from the editor: real-time
sync, the SVG logo constraint, and the redirects interface.

Also cut: block actions, the minimap, code block options, right-click
menu enumerations, page settings field lists (already delegated to
/organize/pages), and most screenshots of self-evident controls.

1,320 to 848 body lines. Field-enumeration bullets 105 to 29.

English redirects added for all eight removed pages. Language variants
deliberately omitted: es/fr/zh still carry the old structure, so
redirecting those paths now would shadow pages that still exist there.
The translation automation should mirror this restructure; verify
afterward that no orphans remain.

Vale vocabulary widened rather than reworded around: autocommit(s|ed|ing)?,
autosav(e|es|ed|ing), dotfile(s)?.

mint broken-links clean, mint a11y clean, vale 0 errors on editor/.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* Correct keyboard shortcuts against the editor keymap

Verified every documented shortcut against the bindings in mintlify/mint
rather than inferring them. The app-level set is exhaustive:
mod+backslash, mod+i, mod+k, mod+s, mod+shift+period, mod+z, shift+mod+d,
shift+mod+s. Visual-mode bindings come from the Tiptap extensions.

- Cmd/Ctrl+Shift+F ("Switch between Navigation and Files tree") does not
  exist. No such binding is registered anywhere in the dashboard. Replaced
  with the real binding at that spot in the UI: Cmd/Ctrl+Shift+. toggles
  "Show all files".
- Added Heading 5 and Heading 6. Heading.configure sets levels 1-6 and
  preserves the parent Mod-Alt-N shortcuts; the table stopped at 4.
- Added Cmd/Ctrl+G for accordion group, bound in Accordions.tsx.

Confirmed correct and unchanged: Cmd+K search, Cmd+I agent, Cmd+Shift+S
mode toggle, Cmd+Shift+D diff, Cmd+\ sidebar, Cmd+Shift+M comment,
Cmd+Shift+E suggesting mode, Cmd+Shift+X strikethrough, Cmd+K link,
Cmd+Enter line break, Cmd+Shift+8 unordered list, and that source mode
runs Monaco.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* Document auto publish, drop the deprecated deploy branch lock

Auto publish is available to all deployments, so the settings panel shows
"Auto publish" rather than "Main branch autocommits". It is not just a
rename: when it is on, the editor hides the branch selector and the
Publish button entirely (TopBar returns null for both), so there is no
pending state and no review step. Documented that behavior in
settings.mdx and added a note at the top of publish.mdx, since that page
otherwise assumes a publish step exists.

The deployment branch lock was deprecated and removed, so it stays out of
the docs. It was already dropped from settings.mdx in the restructure.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* 💅

* copy edit index

* Fix editor docs I verified against dead code

Three claims traced to code that never mounts. Ethan confirmed the diff
shortcut does not work, which exposed the pattern.

- Removed Cmd/Ctrl+Shift+D for diff view. It is registered only at
  SubBar/index.tsx:488, inside EditorSubBar, which is exported and
  imported by nothing. There is no live diff shortcut; exitDiff exists
  only as an onClick in EditorModeContextMenu.
- Source mode runs CodeMirror, not Monaco. SourceEditor resolves through
  source-editor/index.tsx to editor-view.tsx, which imports
  @codemirror/state and @codemirror/view. Monaco is used only by
  EmbedModal. The shortcut rows themselves were correct: CodeMirror's
  defaultKeymap and searchKeymap match VS Code for toggle comment, move
  line, duplicate line, find, and add cursor above/below, all confirmed
  against @codemirror/commands.
- Rewrote the left panel section of pages.mdx. The tabs are Home and
  Publishing (EditorNavigationSidebarContents.tsx:62), not Navigation and
  Files. The Navigation/Files switcher lives in the same dead SubBar
  component. Home renders the workspace file tree including private
  pages; Publishing renders the site navigation and site settings.
  Confirmed by the e2e helper openPublishingNavigation, which queries the
  Publishing tab by role against the running app.

Also corrected in that section: the tree hides docs.json, dotfiles,
extensionless files, all-caps Markdown, and css/js/jsx/mjs/cjs/pdf unless
Show all files is on; "unlisted" was an invented term, replaced with a
link to /organize/hidden-pages; and the folder menu item is "New page",
confirmed by e2e, not "New file".

Added four source-mode bindings that are real and undocumented: Cmd+B and
Cmd+I insert Markdown markers, Cmd+Option+Shift+[ and ] fold and unfold
all.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* copy edit pages

* copy edit publish

* copy edit review

* copy edit settings

* copy edit collaborate

* Updated mintlify pages

- Updated quickstart.mdx

Mintlify-Source: dashboard-editor

* copy edit keyboard shortcuts

* Updated mintlify pages

- Updated quickstart.mdx

Mintlify-Source: dashboard-editor

* Revert "Updated mintlify pages"

This reverts commit 8d1b50cbfc.

* Updated mintlify pages

- Updated quickstart.mdx

Mintlify-Source: dashboard-editor

* fix editor edits

* Mirror the editor restructure into es, fr, and zh

Brings all three translated sites onto the same nine-page structure as
English instead of waiting for the translate automation, which has a
documented history of leaving orphans behind.

Content:
- Deleted 21 orphans: branching-and-publishing, comments, configurations,
  git-essentials, live-preview, navigation, and suggestions in each
  language. None had an English source after the restructure.
- Added publish, review, and collaborate in each language.
- Rewrote index, pages, settings, agent, and keyboard-shortcuts to match
  the current English content, including Home/Publishing tabs, CodeMirror
  source mode, Show all files, and the restored Appearance section.
- Kept the existing conventions: es uses usted, fr uses vous, keywords and
  product UI labels stay in English, and every heading is wrapped in a
  <div id="english-slug"> so cross-language anchors resolve. Verified that
  every English anchor exists in all three languages.

Navigation and redirects:
- es.json, fr.json, and zh.json now list the same nine pages as docs.json.
- Removed six locale redirects that would have shadowed the new publish
  and collaborate pages once they existed.
- Added 21 locale redirects for the removed pages and retargeted the
  destinations that pointed at them.
- Retargeted four /editor/configurations redirects that pointed at
  #site-configurations, an anchor dropped in the settings rewrite.
- Rewrote stale links in changelog, authentication-setup, concepts, and
  glossary across all three languages, since broken-links does not follow
  redirects.

English fixes needed first, all caused by the settings restructure:
- Restored ## Appearance. Two pages link to #appearance, and its four
  preferences were otherwise undocumented.
- Restored ## Create draft pull requests by default, which changelog
  links to and which defaults to on.
- Promoted Main branch autocommits from ### to ##; it was nested under PR
  instructions, and its warning named a setting no longer on the page.
- Retargeted publish.mdx from the removed #auto-publish anchor.
- Fixed a missing space in the settings page intro.

mint broken-links clean, mint a11y clean (1042 files), vale 0 errors,
all five JSON files valid.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
2026-08-25 19:40:14 -07:00

96 lines
6.4 KiB
Plaintext

---
title: "Concepts"
description: "Learn how Mintlify connects your organization, documentation repository, editing workflows, previews, deployments, analytics, and AI features."
keywords: ["concepts", "how Mintlify works", "repository", "deployment", "publishing", "AI"]
---
Mintlify turns content in a Git repository into a documentation site. You can work from the editor in your browser, your local development environment, or prompt the Mintlify agent in Slack. All three workflows update the same repository. Mintlify builds your repository content into optimized experiences for people and agents.
```mermaid
flowchart LR
Editors["Browser editors, local editors, and Mintlify agent"] --> Repo[("Documentation repository")]
Repo --> Build["Build and deployment"]
Build --> Site["Live documentation site"]
Site --> Readers["People"]
Site --> AI["AI agents"]
```
## Organizations, deployments, and sites
An **organization** is the workspace for your team. It contains your members, organization-level settings, and one or more deployments.
A **deployment** is a documentation project in your organization. It connects a repository, content directory, and deployment branch to a published site. An organization can have multiple deployments for separate products or documentation properties.
A **live site** is the published output of a deployment. Mintlify provides a `.mintlify.site` URL by default. You can connect a [custom domain](/customize/custom-domain) for your site. Sites include your content, navigation, search, and any features you enable, such as the assistant or API playground.
<Note>
The documentation sometimes uses **project** as a general name for a deployment and its connected repository, configuration, and site.
</Note>
## The repository is the source of truth
Your documentation repository contains the files that define your site. Mintlify reads these files during every build.
- **Pages** are `.mdx` files. Each page contains content and frontmatter metadata.
- `docs.json` is the required configuration file. It controls navigation, appearance, integrations, API settings, and other site-wide behavior.
- **Assets** include images, videos, fonts, and downloadable files referenced by your pages.
- **API specifications** can generate API reference pages and interactive playgrounds from OpenAPI, AsyncAPI, or GraphQL schemas.
- **Reusable files** include snippets and custom React components that pages can import.
Your repository can contain unpublished files. A page appears in the site navigation only when you reference it in your [`docs.json`](/organize/navigation) navigation; otherwise it is hidden. [Hidden pages](/organize/hidden-pages) are reachable only by a direct link.
## Pages and navigation are separate
A **page** supplies the content at a URL. Its [frontmatter](/organize/pages) controls page-level metadata and behavior, including its title, description, icon, and layout.
**Navigation** determines how readers move through pages. Configure navigation in your `docs.json` file using elements such as groups, tabs, dropdowns, products, versions, and languages. The file path identifies a page and its position in `docs.json` determines where it appears in the navigation.
This separation lets you reorganize the reader experience without moving files. It also lets you exclude utility pages from the navigation while keeping them available by URL.
## Editing and publishing are different stages
You can edit the same content through two primary workflows.
| Workflow | Where you edit | How changes reach Git | How you preview |
| --- | --- | --- | --- |
| Editor | Mintlify dashboard in your browser | The editor creates commits and can open pull requests | Live preview in the editor |
| Local development | Your preferred editor | You commit and push with Git | `mint dev` CLI command |
In the editor, changes **save** automatically but do not immediately update your repository or live site. When you **publish**, the editor writes the changes to Git. What happens next depends on your current branch and branch protection settings.
- On the **deployment branch**, publishing can trigger a build of the live site directly.
- On a **feature branch**, publishing can save changes to the branch or create a pull request for review.
- A **preview deployment** renders a pull request at a temporary URL so reviewers can inspect the result before merging.
- Merging a pull request into the deployment branch triggers a production deployment.
See [Publish changes](/editor/publish) for the complete workflow.
## A build turns source files into reader experiences
When content reaches the deployment branch, Mintlify validates the project, renders the pages, and deploys the site. The same source content supports several ways of finding and consuming information:
- The documentation site renders pages for people on desktop and mobile.
- Search indexes the site so readers can find relevant pages.
- The assistant answers questions from the documentation and cites its sources.
- Markdown versions of pages, `llms.txt`, and `skill.md` help AI tools understand the content.
- A public MCP server lets compatible AI tools retrieve documentation as structured context.
Run [`mint validate`](/cli/commands#mint-validate) and [`mint broken-links`](/cli/commands#mint-broken-links) before publishing to catch common problems locally.
## Mintlify's AI features have different roles
Mintlify provides separate AI features for reading, writing, automation, and external tool access.
| Feature | Used by | Purpose | Changes content |
| --- | --- | --- | --- |
| [Assistant](/assistant) | Documentation readers | Answers questions from your content | No |
| [Agent](/agent) | Documentation maintainers | Researches and proposes content or configuration updates | Yes |
| [Automations](/automations/index) | Documentation maintainers | Runs the agent from a schedule, repository update, or integration event | Yes |
| [Search MCP server](/ai/model-context-protocol) | Agents | Retrieves context from one published documentation site | No |
| [Admin MCP server](/ai/mintlify-mcp) | Agents | Reads and updates deployments through authenticated tools | Yes |
| [Mintlify Index](/search-index) | Agents | Retrieves current technical context across all public Mintlify sites and the web | No |
## Learn the terminology
See the [glossary](/reference/glossary) for definitions of Mintlify, Git, publishing, navigation, API, and AI terms used throughout the documentation.