Migrations

Migrating from Mintlify

Bring an existing Mintlify docs.json and content tree into Shiso.

Shiso reads the same docs.json shape as Mintlify. Most sites can move over by pointing Shiso at their existing config and markdown files, then adjusting for the subset of features Shiso implements today.

What carries over as-is#

  • Navigation: tabs, groups, pages, nested groups, page objects (title / label, icon, tag, hidden), external links, anchors
  • Branding: name, description, logo, favicon, colors
  • Chrome: navbar, footer, banner
  • Appearance: appearance, fonts, styling.eyebrows, background
  • SEO: seo.metatags, seo.indexing, redirects (exact sources only)
  • Content: .md / .mdx pages under your content directory
  • Components: callouts, tabs, steps, cards, code groups, accordions, param/response fields, and the other built-ins listed under Components

Migration steps#

1
Copy config and content

Place your existing docs.json at the project root and your pages under content/docs (or set contentDir in shiso.config.ts to match your old layout).

2
Point the schema at Shiso

Change the $schema value so editor validation matches what this project implements:

3
Set the site origin

Add siteUrl to a shiso.config.ts file at the project root so canonical URLs, Open Graph tags, the sitemap, and AI contextual links work:

4
Validate

Run the config check and fix anything it reports:

5
Preview and build

Behavior differences to expect#

The pages under Configuration describe Shiso's complete configuration surface. Remove other settings from the migrated docs.json and set theme to "shiso", or omit it.

Versions and languages#

If your config uses navigation.versions or navigation.languages, Shiso builds every entry and adds version and language selectors to the header. Each entry must reference its own content files; page references determine the URLs, so keep older versions and translations in their own directories. See Versions and Languages for examples.

Redirects#

Use an exact source value for each redirect; wildcard patterns are not supported. Sources must include the full path (including the docs prefix), for example /docs/old-page.

Hosted features that do not apply#

Mintlify-hosted services — hosted search, analytics integrations, API playgrounds, authentication, and live GitHub star counts — are not part of Shiso. Built-in replacements:

Mintlify featureShiso equivalent
Hosted searchClient-side search (⌘K / Ctrl K)
AI chat / MCPMarkdown export + contextual menu
Custom domain hostingDeploy dist/client to any static host

Icons#

Icon names still come from the lucide set. Names are collected from your content and docs.json at build time — no separate icon registration step.

Content checklist#

  1. Every page listed under navigation has a matching file (.md or .mdx).
  2. Image and asset paths resolve under public/ (for example /images/hero.pngpublic/images/hero.png).
  3. Frontmatter uses title and optional description; add noindex or timestamp where you need page-level SEO or last-updated overrides. related carries over and renders a "Related topics" list above the previous/next links.
  4. Components you used still exist in Shiso — see Components. Unsupported custom components need a local replacement or plain Markdown.

After the move#

Last updated on