1. Home
  2. ChevronRightAdvanced
  3. ChevronRightCaché y Entorno

Caché y Entorno

Cómo funciona el caché de Boltdocs, qué se cachea y las variables de entorno que lo controlan.

Boltdocs cachea archivos parseados y transformaciones para que las compilaciones subsiguientes y los reinicios del servidor de desarrollo sean rápidos. Esta guía cubre cómo funciona el caché y cómo configurarlo.


Cómo Funciona el CachéLink

Boltdocs usa un sistema de caché multicapa:

  1. Caché LRU en Memoria — Caché rápido dentro del proceso para datos calientes
  2. Caché en Disco — Persistido en el directorio .boltdocs/ (organizado bajo .boltdocs/cache/, .boltdocs/build/, .boltdocs/generated/, .boltdocs/reports/) para reutilizar entre reinicios
  3. Invalidación — Automática basada en mtime del archivo y hash de contenido

Qué se CacheaLink

Tipo de CachéQué se AlmacenaUbicación
Caché de ParserFrontmatter, encabezados, metadatos de cada archivo .md/.mdx.boltdocs/cache/parser/
Transformación MDXCódigo MDX compilado para cada archivo.boltdocs/cache/mdx/
Caché de RutasObjetos de ruta construidos con todos los metadatos.boltdocs/cache/routes/

Comportamiento del CachéLink

Modo DesarrolloLink

  • El caché se carga al inicio para navegación instantánea
  • Los archivos se observan — los cambios invalidan entradas de caché relevantes
  • Reconstrucción completa solo cuando cambian la configuración o los plugins

Compilación de ProducciónLink

  • Inicio en frío construye desde cero
  • Caché escrito en disco para uso futuro
  • Entornos CI/CD obtienen compilaciones consistentes

Variables de EntornoLink

Configura el comportamiento del caché a través de variables de entorno:

VariableTipoPor DefectoDescripción
BOLTDOCS_CACHE_DIRstring.boltdocs/cacheDirectorio para archivos de caché de procesamiento principal
BOLTDOCS_NO_CACHEbooleanfalseEstablece en 1 para deshabilitar todo el caché
BOLTDOCS_CACHE_LRU_LIMITnumber2000Máximo de entradas en el caché LRU en memoria
BOLTDOCS_CACHE_LRU_TTLnumber14400000TTL en ms (por defecto 4 horas)
BOLTDOCS_CACHE_COMPRESSbooleantrueHabilitar compresión gzip para archivos de caché

Variables de Entorno de IntegraciónLink

Además de las opciones de caché, Boltdocs resuelve claves específicas de integración de tus variables de entorno de forma segura:

VariableAlcanceDescripción
BOLTDOCS_GITHUB_TOKENFeedback PersonalizadoUn token de acceso personal (PAT) con acceso de escritura a GitHub Discussions.
BOLTDOCS_GITHUB_REPO_OWNERFeedback PersonalizadoSobreescribe el nombre de usuario o organización del propietario del repositorio destino.
BOLTDOCS_GITHUB_REPO_NAMEFeedback PersonalizadoSobreescribe el nombre del repositorio destino.
GITHUB_APP_IDAutenticación GitHub AppEl ID único de App generado por tu GitHub App.
GITHUB_PRIVATE_KEYAutenticación GitHub AppLa clave privada RSA de la GitHub App.
GITHUB_INSTALLATION_IDAutenticación GitHub AppEl ID de instalación asociado a tu repositorio destino.

Ejemplos de UsoLink

# Disable all caching (useful for debugging)
BOLTDOCS_NO_CACHE=1 pnpm docs:dev

# Use custom cache directory
BOLTDOCS_CACHE_DIR=.cache/boltdocs pnpm docs:dev

# Increase cache size for large projects
BOLTDOCS_CACHE_LRU_LIMIT=5000 pnpm docs:dev

Invalidación del CachéLink

El caché se invalida automáticamente cuando:

  1. El contenido del archivo cambia — Detectado vía hash de contenido
  2. El archivo se elimina — Entrada de caché removida
  3. La configuración cambia — Se activa invalidación completa
  4. La versión del plugin cambia — Caché MDX invalidado

Invalidación ManualLink

Elimina el directorio de caché:

rm -rf .boltdocs

O en desarrollo, el servidor de desarrollo se invalida automáticamente en cambios de archivos.


Ubicación del CachéLink

Por defecto, el caché vive en .boltdocs/ en la raíz de tu proyecto:

my-docs/
├── .boltdocs/
│   ├── build/
│   │   ├── framework-hash.txt
│   │   ├── template-index.html
│   │   ├── render-cache.json
│   │   └── pages/         ← HTML cacheado por página
│   ├── cache/
│   │   ├── parser/        ← Resultados del parser (JSON)
│   │   ├── mdx/           ← Código compilado MDX
│   │   ├── routes/        ← Metadatos de rutas
│   │   └── assets/        ← Assets procesados
│   ├── generated/
│   │   ├── types.d.ts
│   │   └── link-tree.json
│   ├── reports/
│   │   ├── doctor.json
│   │   └── performance.json
│   └── backups/           ← Respaldos de fix de Doctor
├── docs/
└── boltdocs.config.ts

Solución de ProblemasLink

Caché corruptoLink

Si sospechas de entradas de caché corruptas:

# Clear all caches
rm -rf .boltdocs

# Restart dev server
pnpm docs:dev

Contenido desactualizado en producciónLink

Asegúrate de que tu pipeline CI inicie limpio:

# Clean before build
rm -rf .boltdocs
pnpm docs:build

Tamaño de caché grandeLink

Para sitios de documentación muy grandes:

# Disable compression to save CPU at the cost of disk space
BOLTDOCS_CACHE_COMPRESS=0 pnpm docs:build

Notas de RendimientoLink

  • El primer inicio es más lento — el caché se está poblando
  • Los inicios subsiguientes son casi instantáneos (< 100ms)
  • Cuantas más páginas tengas, más ayuda el caché
  • La compresión del caché agrega ~10% de sobrecarga de CPU pero ahorra ~70% de disco
Last updated on July 27, 2026

Was this page helpful?