Jamdesk Documentation logo

Visión general de la CLI

Previsualiza la documentación localmente, valida la configuración, revisa los enlaces rotos y migra plataformas con el CLI de código abierto de Jamdesk.

El CLI de Jamdesk te permite previsualizar la documentación localmente, validar la configuración, revisar enlaces rotos y migrar desde otras plataformas. Es de código abierto bajo la Apache License 2.0.

Instalación

Instala globalmente desde npm para usar jamdesk desde cualquier lugar:

npm install -g jamdesk

Después de instalar, verifica que funciona:

jamdesk --version

Requisitos

  • Node.js v20.0.0 o superior
  • npm v8 o superior (recomendado)

Inicio rápido

1
Crear un proyecto

Crea un nuevo proyecto de documentación:

jamdesk init my-docs
cd my-docs
2
Iniciar el servidor de desarrollo

Ejecuta el servidor de desarrollo local con recarga en caliente:

jamdesk dev

Tu documentación estará disponible en http://localhost:3000/docs

3
Validar antes de desplegar

Revisa los errores de configuración, los enlaces rotos y la ortografía:

jamdesk validate
jamdesk broken-links
jamdesk fix --dry-run
jamdesk fix
jamdesk spellcheck

Comandos

Ejecuta jamdesk <command> --help para obtener información detallada sobre cualquier comando.

Desarrollo

Inicia el servidor de desarrollo local con recarga en caliente.

jamdesk dev
jamdesk dev --port 3001

Funciones:

  • Validación automática al iniciar (esquema de docs.json, sintaxis de MDX y especificaciones de OpenAPI referenciadas; una especificación no válida detiene el servidor para que la detectes antes de desplegar)
  • Recarga en caliente al modificar archivos MDX
  • Reconstrucción automática de la navegación al modificar docs.json
  • CSS personalizado (style.css) recargado al actualizar el navegador
  • Funcionalidad de búsqueda completa
  • Todos los temas y componentes disponibles

Opciones:

OpciónDescripción
-p, --port <port>Puerto de ejecución (predeterminado: 3000)
-v, --verboseHabilita la salida detallada

Crea un nuevo proyecto de documentación.

jamdesk init              # Interactive mode
jamdesk init my-docs      # Create in new directory

Esto crea un nuevo proyecto con:

  • Archivo de configuración docs.json
  • Páginas MDX de ejemplo
  • Estructura de carpetas recomendada

Autenticación

Inicia sesión en Jamdesk mediante tu navegador. Necesario antes de desplegar.

jamdesk login

Abre el dashboard de Jamdesk en tu navegador para la autenticación. Las credenciales se almacenan localmente en ~/.jamdeskrc.

Guía de autenticación

Flujo de autenticación basado en el navegador, gestión de sesiones y solución de problemas

Borra las credenciales almacenadas.

jamdesk logout

Muestra el usuario autenticado actual y verifica que tu sesión sea válida.

jamdesk whoami

Validación

Valida la configuración de tu docs.json, la sintaxis de MDX y las especificaciones de OpenAPI.

jamdesk validate
jamdesk validate --skip-mdx

Comprueba lo siguiente:

  • Sintaxis JSON válida en docs.json
  • Campos obligatorios (name, navigation)
  • Valores de tema válidos
  • Errores de sintaxis de MDX (por ejemplo, caracteres < sin escapar)
  • Validación de especificaciones de OpenAPI (si está configurado)
  • Cumplimiento del esquema

Opciones:

OpciónDescripción
--skip-mdxOmite la validación de la sintaxis de MDX
-v, --verboseMuestra una salida de validación detallada

Ejecuta este comando antes de desplegar para detectar errores a tiempo.

Analiza tu documentación en busca de enlaces internos rotos.

jamdesk broken-links

Ejemplo de salida:

docs/getting-started.mdx:15 - /docs/quikstart
  Did you mean: /docs/quickstart

Found 1 broken link in 45 files.

Detecta enlaces a páginas faltantes y errores tipográficos. Consulta Enlaces y navegación para más detalles.

Corrige automáticamente las advertencias de enlaces internos rotos que tienen un destino inequívoco. Gestiona dos categorías:

  • Anclas con errores tipográficos: un fragmento como #instalation que claramente debería ser #installation
  • Desviación de anclas entre configuraciones regionales: una página traducida cambió el nombre de sus encabezados, pero los enlaces de esa configuración regional siguen apuntando al fragmento en inglés antiguo
# Preview what would change without touching any files
jamdesk fix --dry-run

# Apply fixes (prompts for confirmation)
jamdesk fix

Ejemplo de salida en modo dry-run:

Planned fixes:

  fr/ai/overview.mdx:9
    /fr/ai/selectors#ai-strategies  →  /fr/ai/selectors#stratégies-ia

(dry run — no files written)

Una corrección solo se escribe cuando el ancla corregida corresponde a un encabezado real en la página de destino. Los casos ambiguos se dejan para revisión manual.

Opciones:

OpciónDescripción
--dry-runPrevisualiza las correcciones planificadas sin escribir archivos
-y, --yesAplica las correcciones sin solicitar confirmación
--types <list>Tipos de advertencia a corregir, separados por comas (predeterminado: todos los admitidos)
Guía para corregir enlaces rotos

Guía paso a paso: previsualizar, aplicar, revisar y confirmar

Revisa tu documentación en busca de errores ortográficos.

jamdesk spellcheck

Ejemplo de salida:

getting-started.mdx:14 - "recieve"
  └─ Did you mean: receive

Found 3 misspellings across 24 pages.
Tip: Run "jamdesk spellcheck --fix" to interactively fix or ignore words.

Utiliza un diccionario en inglés con más de 150 términos técnicos integrados (API, GraphQL, Kubernetes, React, etc.) para que la jerga habitual no se marque. Omite los bloques de código, el código en línea, el frontmatter, el JSX, las URL y las rutas de archivo. Actualmente solo en inglés; está prevista la compatibilidad con diccionarios multilingües.

Opciones:

OpciónDescripción
--fixCorrige errores de forma interactiva o los añade a la lista de exclusión
--jsonGenera la salida en formato JSON (para pipelines de CI)
-v, --verboseMuestra cada archivo a medida que se verifica

El modo de corrección interactivo (--fix) recorre cada palabra mal escrita única:

1/10  "recieve" — found in 3 files
      intro.mdx:14, setup.mdx:7, guide.mdx:22

? What do you want to do?
❯ Fix → receive (recommended)
  Fix → relieve
  Ignore in the future (add to docs.json)
  Skip
  • Fix reemplaza la palabra por una sugerencia en todos los archivos (seguro para la prosa, no modifica los bloques de código ni los atributos JSX). Se muestran hasta 3 sugerencias, con la mejor coincidencia marcada como recomendada.
  • Ignore añade la palabra a spellcheck.ignore en tu docs.json para que no se vuelva a marcar
  • Skip no hace nada en esta ejecución

Los cambios se previsualizan y confirman antes de aplicarse.

Lista de exclusión personalizada: añade términos específicos del proyecto a tu docs.json:

docs.json
{
  "spellcheck": {
    "ignore": ["YourProduct", "kubectl", "Terraform"]
  }
}

El nombre de tu proyecto de docs.json se excluye automáticamente.

Valida un único archivo de especificación de OpenAPI.

jamdesk openapi-check openapi.yaml
jamdesk openapi-check api/spec.json

Valida lo siguiente:

  • Sintaxis YAML/JSON válida
  • Cumplimiento del esquema OpenAPI 3.x
  • Definiciones de endpoints
  • Las referencias $ref se resuelven correctamente

Tus especificaciones de OpenAPI se validan en tres lugares. jamdesk dev se detiene al iniciar si una especificación referenciada no es válida, y jamdesk validate / jamdesk openapi-check verifican las especificaciones bajo demanda. Cuando despliegas, el build en la nube también valida tus especificaciones referenciadas, pero ahí es una advertencia no bloqueante: el resto de tu documentación se publica de todos modos, y se te informa exactamente qué está mal (un error de análisis con línea y columna, una $ref sin resolver o un operationId duplicado) por correo electrónico y en la lista de builds del dashboard. Corrige la especificación y vuelve a hacer push para resolverlo.

Gestión de archivos

Cambia el nombre de una página y actualiza automáticamente todas las referencias.

jamdesk rename docs/old-name.mdx docs/new-name.mdx

Esto hará lo siguiente:

  • Cambiar el nombre del archivo
  • Actualizar la navegación en docs.json
  • Actualizar los enlaces en todos los demás archivos MDX
  • Actualizar las referencias de snippet

Usa este comando en lugar de renombrar manualmente para mantener todas las referencias sincronizadas.

Migración

Migra la documentación de Mintlify a Jamdesk.

jamdesk migrate

Detecta tu configuración de Mintlify y la convierte al formato de Jamdesk. En el mismo paso, cambia el nombre de los componentes obsoletos (por ejemplo, CardGroup → Columns), traslada los archivos MDX de snippets huérfanos a /snippets/ y reescribe las importaciones relativas al padre, extrae los componentes en línea que usan hooks de React a /snippets/<name>.tsx con 'use client', y corrige automáticamente los problemas mecánicos de sintaxis MDX. Es idempotente, por lo que puedes volver a ejecutarla de forma segura.

Guía de migración

Guía de migración completa con instrucciones paso a paso para Mintlify y otras plataformas

Despliegue

Sube tu documentación y activa un build directamente desde la terminal.

jamdesk deploy
jamdesk deploy --detach
jamdesk deploy --full-rebuild

El progreso se muestra en directo a medida que se completa cada fase del build. También está disponible como jamdesk push.

OpciónDescripción
--detachEncola y sale de inmediato
--full-rebuildFuerza un build completo (sin caché)
--project <id>Despliega en un proyecto específico
--allow-emptyPermite desplegar sin páginas de contenido .mdx (rechazado de forma predeterminada)
Guía de despliegue de CLI

Pipeline de despliegue completo, fases del build, referencia de errores y solución de problemas

Genera y despliega un Cloudflare Worker que redirige /docs en tu propio dominio hacia tu sitio de Jamdesk.

jamdesk deploy-proxy cloudflare
jamdesk deploy-proxy cloudflare --slug myproject --domain example.com --yes

Interactivo de forma predeterminada: comprueba Wrangler, verifica tu cuenta de Cloudflare, detecta automáticamente tu slug a partir de docs.json, genera los archivos del Worker y despliega opcionalmente. Con --yes, genera los archivos y se detiene; despliega con npx wrangler deploy desde el directorio de salida.

OpciónDescripción
--slug <slug>Slug del proyecto de Jamdesk
--domain <domain>Dominio de destino (por ejemplo, example.com)
--path <path>Prefijo de ruta (predeterminado: /docs)
--output-dir <dir>Directorio de salida (predeterminado: cloudflare-worker/)
--skip-deployOmite el aviso "¿desplegar ahora?" en una ejecución interactiva
--forceSobrescribe el directorio de salida si ya existe
--yesResponde a cada aviso con su valor predeterminado (modo CI). Nunca despliega ni sobrescribe un directorio existente
Guía de Cloudflare Workers

Configuración del Worker, patrones de rutas y configuración de caché

Mantenimiento

Verifica tu entorno y diagnostica problemas.

jamdesk doctor

Comprobaciones:

  • Versión de Node.js (requiere v20+)
  • Versión de npm
  • docs.json existe y es válido
  • Estado de la caché de ~/.jamdesk
  • Permisos de escritura

Ejecuta este comando si tienes problemas con el CLI.

Borra el directorio de caché ~/.jamdesk.

jamdesk clean

Esto elimina las dependencias en caché y los artefactos del build. Úsalo para:

  • Liberar espacio en disco
  • Solucionar problemas de caché dañada
  • Forzar una instalación limpia de dependencias

Las dependencias se reinstalarán en el próximo jamdesk dev.

Actualiza el CLI a la última versión.

jamdesk update

También puedes actualizar manualmente:

npm update -g jamdesk

Configuración

Crea ~/.jamdeskrc para establecer las opciones predeterminadas:

{
  "defaultPort": 3001,
  "verbose": false,
  "checkUpdates": true
}
OpciónTipoPredeterminadoDescripción
defaultPortnumber3000Puerto predeterminado para el servidor de desarrollo
verbosebooleanfalseHabilita la salida detallada de forma predeterminada
checkUpdatesbooleantrueComprueba actualizaciones del CLI al iniciar

Solución de problemas

Los archivos MDX se analizan como JSX, por lo que ciertos caracteres tienen un significado especial.

Problema común: el carácter < se interpreta como el inicio de una etiqueta JSX.

✗ Found 1 MDX syntax error(s)

  getting-started.mdx:42
    Unexpected character `5` (U+0035) before name
    Fix: A < character is being parsed as JSX. Use &lt; or rewrite

Soluciones:

  • Usa &lt; para un menor que literal: Values &lt;50% are low
  • Reescribe para evitar el carácter: "Below 50%" en lugar de "<50%"
  • Ejecuta jamdesk validate para obtener mensajes de error detallados con números de línea

Asegúrate de estar en un directorio con un archivo docs.json.

Soluciones:

  • Ejecuta jamdesk init para crear un nuevo proyecto
  • Comprueba que estás en el directorio correcto
  • Verifica que el archivo se llame exactamente docs.json (no doc.json ni algo similar)

El servidor de desarrollo puede fallar al iniciar por varias razones.

Prueba estos pasos:

  1. Ejecuta jamdesk doctor para comprobar tu entorno
  2. Ejecuta jamdesk clean para borrar la caché
  3. Usa jamdesk dev --verbose para obtener una salida de error detallada
  4. Comprueba que Node.js v20+ está instalado: node --version

La primera ejecución instala las dependencias en ~/.jamdesk/node_modules.

Esto es normal y solo ocurre una vez. Las ejecuciones posteriores serán mucho más rápidas.

Otro proceso está utilizando el puerto predeterminado.

Soluciones:

# Use a different port
jamdesk dev --port 3001

# Or set a default in ~/.jamdeskrc
{ "defaultPort": 3001 }

Es posible que no tengas permisos de escritura en el directorio de caché.

Soluciones:

  1. Comprueba los permisos de ~/.jamdesk: ls -la ~/.jamdesk
  2. Corrige la propiedad: sudo chown -R $(whoami) ~/.jamdesk
  3. Ejecuta jamdesk clean y vuelve a intentarlo

¿Sigues teniendo problemas? Consulta la guía de solución de problemas del CLI o abre un issue en GitHub.

¿Qué sigue?

Autenticación

Flujo de inicio de sesión, sesiones y solución de problemas

Despliegue con CLI

Despliega desde la terminal

Preview local

Opciones avanzadas de desarrollo local

Guía de migración

Migra desde Mintlify u otras plataformas