Referencia del CLI
Guía de referencia completa de los comandos CLI de Boltdocs, incluyendo diagnósticos de salud (doctor) y generador de changelog.
Interfaz de Línea de Comandos (CLI)
La CLI de Boltdocs proporciona un conjunto de comandos para desarrolladores para construir, previsualizar, depurar y mantener proyectos de documentación.
Inicio Rápido
Ejecuta comandos usando npx boltdocs o definiendo scripts dentro de tu package.json:
# Iniciar el servidor de desarrollo local
npx boltdocs dev
# Construir el sitio estático para producción
npx boltdocs build
# Ejecutar diagnósticos de integridad y salud del proyecto
npx boltdocs doctor
# Auditar dependencias de plugins para advertencias de seguridad
npx boltdocs audit
# Generar registros de changelog en MDX desde CHANGELOG.md
npx boltdocs generate-changelog CHANGELOG.md
Comandos Principales del Flujo de Trabajo
dev
Inicia un servidor de desarrollo local de alto rendimiento impulsado por Vite. Ofrece Hot Module Replacement (HMR) instantáneo para archivos MDX, ediciones de hojas de estilo y recarga de configuración en caliente.
- Uso:
boltdocs dev [root] [options](o simplementeboltdocs [root] [options]) - Directorio predeterminado:
process.cwd()
Opciones
| Opción | Descripción |
|---|---|
--port <number> | El número de puerto en el que el servidor de desarrollo debe escuchar (predeterminado 5173). |
--host [address] | La dirección IP del host al que el servidor debe vincularse (ej. 0.0.0.0 o true para exponer en la red local). |
--force | Forzar a Vite a optimizar y pre-empaquetar dependencias nuevamente, ignorando la caché (equivale a optimizeDeps.force: true). |
build
Compila las páginas de documentación en activos HTML y JavaScript completamente estáticos y altamente optimizados mediante el motor de React Static Site Generation (SSG).
- Uso:
boltdocs build [root]
preview
Sirve el paquete estático de producción generado desde el directorio local dist/, permitiéndote probar el rendimiento, redirecciones, etiquetas SEO y la renderización de páginas antes de desplegar.
- Uso:
boltdocs preview [root] [options]
Opciones
| Opción | Descripción |
|---|---|
--port <number> | El número de puerto en el que el servidor de previsualización debe escuchar (predeterminado 4173). |
--host [address] | La dirección IP del host al que el servidor de previsualización debe vincularse. |
audit
Realiza un análisis estático rápido del código fuente de todos los plugins activos. Escanea posibles comportamientos sensibles como llamadas de red o acceso a variables de entorno, brindándote total visibilidad antes de compilar los activos finales.
- Uso:
boltdocs audit [root]
doctor (Diagnósticos y Verificación de Integridad)
El comando doctor ejecuta un conjunto de verificaciones de diagnóstico automatizadas en tu directorio de documentación para identificar enlaces rotos, frontmatter mal formado, traducciones faltantes y otros problemas estructurales.
# Ejecutar doctor en la carpeta actual
npx boltdocs doctor
# Ejecutar con corrección automática habilitada
npx boltdocs doctor --fix
# Verificar URLs externas además de las rutas internas
npx boltdocs doctor --check-external
# Inicializar archivo de configuración doctor.json predeterminado
npx boltdocs doctor --init
# Verificar rendimiento de build contra presupuestos configurados
npx boltdocs doctor --budget
Opciones del Comando CLI
| Opción | Descripción |
|---|---|
--fix | Corrige automáticamente problemas reparables como rutas relativas rotas y alinea claves i18n faltantes. |
--check-external | Realiza verificación de red asíncrona para enlaces web externos. (Más lento) |
--init | Crea un archivo de configuración doctor.json predeterminado en la carpeta raíz del proyecto. |
--budget | Verifica métricas de rendimiento de build contra presupuestos configurados. Requiere un boltdocs build previo. |
Referencia de Configuración de doctor.json
Puedes personalizar las verificaciones de diagnóstico, archivos objetivo, severidades y parámetros CI/CD creando un archivo doctor.json en tu directorio raíz.
{
"$schema": "https://boltdocs.vercel.app/schemas/doctor-config.schema.json",
"checks": {
"metadata": {
"enabled": true,
"titleMin": 10,
"titleMax": 60,
"descriptionMin": 50,
"required": ["title", "description"],
"optional": [],
"validateDates": false
},
"links": {
"internal": true,
"external": false,
"timeout": 10000,
"concurrency": 10,
"ignore": []
},
"i18n": {
"enabled": true
},
"performance": {
"enabled": true,
"budgets": {
"maxJSBundleSize": "200kb",
"maxCSSBundleSize": "30kb",
"maxPageHTMLSize": "80kb",
"maxImagesKB": 500,
"maxBuildTime": 30000,
"maxFontCount": 3
}
}
},
"fix": {
"confirmChanges": false,
"backupFiles": false,
"backupPath": ".boltdocs/backups"
},
"reporting": {
"format": "pretty",
"outputFile": ".boltdocs/reports/doctor.json",
"failOnError": false,
"maxWarnings": -1
},
"severity": {
"missingTranslation": "warning",
"brokenLink": "high",
"brokenAnchor": "warning",
"largeFile": "warning",
"orphanedPage": "low",
"duplicateTitle": "low",
"shortMetadata": "low",
"missingMetadata": "warning",
"malformedFrontmatter": "high",
"invalidFrontmatter": "high",
"budgetExceeded": "warning"
},
"exclude": []
}
Propiedades de Verificaciones de Diagnóstico (checks)
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
metadata | MetadataChecks | Predeterminados | Longitud de título SEO, descripción y frontmatter requerido. |
links | LinkChecks | Predeterminados | Enlaces internos/externos, configuraciones de tiempo de espera y concurrencia, e ignorados. |
i18n | I18nChecks | Predeterminados | Validez de sincronización de traducciones. |
performance | PerformanceChecks | Predeterminados | Presupuestos de rendimiento de build contra umbrales. |
MetadataChecks
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | boolean | true | Activar o desactivar la verificación de metadatos frontmatter/SEO. |
titleMin | number | 10 | Longitud mínima en caracteres para títulos de página. |
titleMax | number | 60 | Longitud máxima en caracteres para títulos de página. |
descriptionMin | number | 50 | Longitud mínima en caracteres para descripciones de página. |
required | string[] | ["title", "description"] | Claves de frontmatter que deben estar definidas en cada página. |
optional | string[] | [] | Campos de frontmatter adicionales permitidos. |
validateDates | boolean | false | Validar formatos de fecha en frontmatter. |
LinkChecks
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
internal | boolean | true | Verificar enlaces de documentos relativos y anclas de slug (#section). |
external | boolean | false | Obtener y probar enlaces remotos de forma asíncrona. |
timeout | number | 10000 | Tiempo de espera de red para verificaciones externas en milisegundos. |
concurrency | number | 10 | Número máximo de subprocesos paralelos para el verificador de enlaces remotos. |
ignore | string[] | [] | Lista de patrones de expresiones regulares o URLs exactas a omitir. |
I18nChecks
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | boolean | true | Verifica claves faltantes en versiones localizadas comparadas con la predeterminada. |
PerformanceChecks
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | boolean | true | Ejecutar verificaciones de presupuesto de rendimiento en la salida del build. |
budgets | object | Ver abajo | Umbrales de superposición para cada métrica. |
El objeto budgets soporta estos umbrales opcionales:
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
maxJSBundleSize | string | "200kb" | Tamaño máximo total del bundle JS (soporta sufijos b, kb, mb). |
maxCSSBundleSize | string | "30kb" | Tamaño máximo total del bundle CSS. |
maxPageHTMLSize | string | "80kb" | Tamaño máximo de HTML para una sola página. |
maxImagesKB | number | 500 | Tamaño máximo total de activos de imagen en KB. |
maxBuildTime | number | 30000 | Tiempo máximo de build en milisegundos. |
maxFontCount | number | 3 | Número máximo de archivos de fuentes. |
Comportamiento de Corrección Automática (fix)
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
confirmChanges | boolean | false | Te solicita confirmación de forma interactiva antes de escribir las correcciones automáticas. |
backupFiles | boolean | false | Crea una copia del documento fuente antes de la corrección automática. |
backupPath | string | ".boltdocs/backups" | Carpeta donde se guardarán los archivos temporales pre-corrección. |
Informes de Diagnóstico (reporting)
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
format | 'pretty' | 'json' | 'silent' | 'pretty' | Estilo de interfaz de salida. 'pretty' renderiza cajas de CLI, 'json' genera datos sin procesar. |
outputFile | string | ".boltdocs/reports/doctor.json" | Ruta donde se escribe el archivo de informe de diagnóstico. |
failOnError | boolean | false | Forzar que el proceso termine con estado 1 si se encuentra un problema de severidad high. |
maxWarnings | number | -1 | Número de advertencias permitidas antes de que el proceso falle. -1 es infinito. |
generate-changelog (Generador de Changelog)
La utilidad generate-changelog analiza un archivo unificado CHANGELOG.md (soportando estructuras de Keep A Changelog, Standard Version y Semantic Release) y lo descompone automáticamente en páginas individuales por versión formateadas para la interfaz del tema de Boltdocs.
# Descomponer CHANGELOG.md y generar páginas bajo docs/changelog
npx boltdocs generate-changelog CHANGELOG.md
Opciones del Comando CLI
| Opción | Predeterminado | Descripción |
|---|---|---|
-o, --output <path> | 'docs/changelog' | Carpeta de destino donde se generan los archivos de versión. |
-t, --title <text> | 'Changelog' | Etiqueta de título de encabezado inyectada dentro de las páginas generadas. |
-l, --limit <number> | undefined | Limita el número de archivos MDX generados a las últimas N versiones. |
--infer-tab | true | Infiere la configuración de agrupación de pestañas de sidebar activa a partir de los directorios de salida. |
Estructura de Salida del Diseño
Cada versión se analiza, agrupa por tipos de actualización (Características, Corrección de Errores, Rendimiento, Refactorización, Documentación, Mantenimiento) y se genera como páginas incrementales individuales:
docs/changelog/
├── 1.v2.0.0.md
├── 2.v1.1.0.md
└── 3.v1.0.0.md
Dentro de la página generada, los metadatos se ven así:
---
title: v2.0.0
badge: "Major"
description: Changelog version 2.0.0 (2026-05-20)
---
# Changelog v2.0.0
**Released:** 2026-05-20
## Feature
- Add high performance rust compiler pipeline.
- **Author:** @jesusalcaladev
- **Commit:** `483fa9c`
Integración con el Navbar de Navegación
Para vincular las páginas de changelog generadas en tu navbar, registra la ruta dentro de boltdocs.config.ts:
export default defineConfig({
theme: {
navbar: [
{ label: 'Documentation', href: '/docs' },
{ label: 'Changelog', href: '/changelog' } // Matches automatically with the docs/changelog folder routes
]
}
})