---
title: Migrar a Thally
description: Mueve tu documentación existente a Thally con un comando y ejecútala en local.
url: https://docs.thally.io/es/guides/migrating
---

# Migrar a Thally

Mueve tu documentación existente a Thally con un comando y ejecútala en local.

Un solo comando importa un sitio de documentación existente en un proyecto Thally nuevo. Elige la guía de la plataforma que usas hoy o empieza con la versión genérica.

Necesitas Node.js 22 o posterior y Git. Prefiere el repositorio fuente cuando esté disponible. La validación ejecuta MDX y componentes importados en tu equipo; usa fuentes propias o de confianza.

## Migra y ejecuta en local

```bash
npx --yes @thallylabs/cli@latest migrate https://github.com/example/product --platform auto --yes
```

```bash
cd product-docs
npm run dev
```

Abre [http://localhost:3040](http://localhost:3040). Revisa la documentación en la URL que indique el servidor.

El comando clona el repositorio, detecta la plataforma, convierte las páginas, instala las dependencias, ejecuta las comprobaciones y una compilación de producción, y crea un commit inicial de Git. Añade un directorio de salida después de la URL para cambiar el nombre predeterminado `<repo>-docs`.

Lee `migration-report.json` antes de publicar. Los fallos de instalación o validación conservan los archivos importados: corrige los errores y ejecuta `npx --yes @thallylabs/cli@latest check` y `npm run build`. Con `--skip-validation`, instala las dependencias y ejecuta ambas comprobaciones.

## Elige tu plataforma

#### [Mintlify](/guides/migrate-from-mintlify)

    Adaptador dedicado para proyectos con `docs.json` o `mint.json`.

#### [Docusaurus](/guides/migrate-from-docusaurus)

    Adaptador dedicado para repositorios y sitios publicados.

#### [Fern](/guides/migrate-from-fern)

    Adaptador para navegación de Fern y fuentes OpenAPI.

Mintlify, Docusaurus y Fern tienen adaptadores dedicados. Otras fuentes Markdown y MDX usan la configuración detectada o la estructura de carpetas. Fern importa las páginas referenciadas en la navegación; revisa el informe para contenido omitido o con acceso restringido.

Para una fuente publicada, usa su URL pública. Revisa la navegación y los assets: el sitio puede exponer menos información que el repositorio. `--yes` o `--platform auto` acepta estas limitaciones sin detenerse.

## Opciones

| Indicador | Descripción |
|------|-------------|
| `--platform <name>` | `mintlify`, `docusaurus`, `fern` o `auto`. En una terminal interactiva, la CLI pregunta; sin interacción, usa detección automática. |
| `--yes`, `-y` | Omite todas las preguntas |
| `--branch <name>` | Anula la rama detectada |
| `--docs-dir <path>` | Anula la carpeta de documentación detectada. Una URL `tree/<rama>/<dir>` define ambas. |
| `--max-pages <count>` | Limita el rastreo de un sitio publicado a entre 1 y 1.000 páginas |
| `--into <dir>` | Fusiona en un proyecto Thally existente en lugar de crear uno |
| `--api-key <key>` | Clave API de Anthropic para convertir archivos que no son Markdown, como `.rst` |
| `--skip-validation` | Solo importa; omite la instalación, las comprobaciones y la compilación |

La detección automática de repositorios reconoce:

| Configuración | Plataforma |
| --- | --- |
| `mint.json` o Mintlify `docs.json` | Mintlify |
| `docs.yml` y `fern.config.json` en el mismo directorio | Fern |
| Thally `docs.json` con `tabs` | Thally |
| `docusaurus.config.*` | Docusaurus |
| `SUMMARY.md` | GitBook |
| `.vitepress/` | VitePress |
| `astro.config.*` | Starlight |
| `_meta.json` | Nextra |
| Sin configuración reconocida | Markdown |

## Publicar

Haz commit de tus cambios, sube el proyecto a un repositorio nuevo de GitHub y conéctalo en [Thally Cloud](https://app.thally.io) con **Create site** y después **Connect an existing repository**:

```bash
git add -A
git commit -m "docs: review migrated content"
git branch -M main
gh repo create product-docs --private --source=. --remote=origin --push
```

Elige el repositorio generado y su rama de producción, normalmente `main`. Deja **Docs directory** vacío si el proyecto está en la raíz, o introduce su ruta relativa en un monorepo. Revisa el resumen y selecciona **Publish site**.

Establece `repoUrl` en `src/data/site.ts` con el repositorio nuevo para que funcionen los enlaces de edición. Para alojarlo tú mismo, consulta [Despliega tu sitio de documentación](/guides/deploying).

## Usar un agente

Con el [servidor MCP de Thally](/guides/mcp-server) conectado, pide a tu agente de programación que ejecute `migrate_docs` con la URL de origen y un directorio de destino nuevo. O pega este prompt en cualquier agente con acceso a la terminal:

Migrate SOURCE_URL into a new Thally project at TARGET_DIRECTORY. You are done when the source has been imported into a fresh Thally project, important navigation and assets survive the move, validation and the production build pass, and I have an evidence-backed review of anything that still needs human work.

Before writing files, read repository instructions in the current workspace and inspect TARGET_DIRECTORY. Stop if the target exists and is not empty. Prefer the source GitHub repository when it is available because it preserves authored MDX, configuration, redirects, and assets. Confirm ambiguous sources or destinations with me rather than substituting one.

Use the local Thally MCP migrate_docs tool if connected; otherwise run npx --yes @thallylabs/cli@latest migrate SOURCE_URL TARGET_DIRECTORY. Never use import_docs or --into unless I explicitly request an in-place merge. Preserve the importer output and warnings.

After migration, read migration-report.json, then compare source and destination page counts, top-level navigation, redirects, assets, code languages, custom components, and API references. Start the local site and inspect the homepage, every primary navigation tab, representative shallow and deep pages, links, code blocks, images, tables, callouts, and any API reference in light and dark mode plus a narrow viewport.

Fix safe mechanical issues that do not change product meaning. Flag unsupported components, ambiguous navigation, and claims that need a product owner instead of inventing replacements. After your edits, run npx --yes @thallylabs/cli@latest check and npm run build again. Report exact commands, files changed, checks, warnings, and next actions. Do not overwrite a non-empty directory, delete source content, deploy, commit, push, or change public URLs without asking.

## Solución de problemas

- **Faltan páginas.** Para un repositorio, usa `--docs-dir` o una URL `tree/<rama>/<dir>`. Para un sitio publicado, aumenta `--max-pages` y vuelve a ejecutar en un directorio vacío.
- **La compilación falló.** Abre `migration-report.json` y la salida de la compilación. Las causas habituales son importaciones de paquetes que Thally no incluye, sintaxis de plantillas que MDX no puede analizar y componentes sin equivalente en Thally. Corrige la página y ejecuta `npx --yes @thallylabs/cli@latest check` y `npm run build`.
- **Thally Cloud no ve el repositorio.** Concede acceso a la GitHub App de Thally desde el paso de origen y recarga la lista de repositorios.
- **El repositorio se rechaza como incompatible.** Haz commit de todos los archivos generados, incluidos `package-lock.json`, `wrangler.jsonc` y `open-next.config.ts`.