Scribe

Referencia de la CLI

Todos los comandos y opciones de scribe: status, validate, translate, delete, history, studio, export-static.

View as Markdown

El binario scribe viene incluido con el paquete y se añade a tu PATH tras la instalación. Todos los comandos aceptan --config <path> (por defecto busca scribe.config.ts en el directorio de trabajo) y leen los archivos .env y luego .env.local antes de ejecutarse (las variables de entorno existentes tienen prioridad).

scribe status
scribe validate
scribe translate [flags]
scribe delete <type> <en-slug> [--dry-run] [--yes]
scribe history <type> <en-slug> [locale]
scribe studio [--port 3600]
scribe export-static [flags]
scribe version

scribe status

Desglose por tipo de contenido: cantidad de documentos en inglés, cantidad de traducciones por idioma y ruta del almacén de datos (store). Es un resumen rápido de la cobertura.

scribe validate

Valida todo el proyecto: esquemas, campos integrados, hooks crossValidate, compilación MDX de textos en inglés y traducciones almacenadas, relaciones, reglas de _redirects.json, sufijos de slugs localizados y archivos de imagen faltantes cuando se define assetsDir. Muestra una línea por cada problema encontrado y devuelve un código de error para que puedas detener tu proceso de compilación si es necesario. Consulta el modelo de contenido para ver la lista completa de validaciones.

scribe translate

Traduce las páginas nuevas o desactualizadas utilizando Gemini (requiere GEMINI_API_KEY). Si lo ejecutas en la terminal sin opciones, te preguntará interactivamente el tipo de contenido, los idiomas predefinidos, la estrategia y el modo de traducción. En los scripts puedes usar las siguientes opciones:

FlagDefaultDescription
--type <id,id>todos los tiposUno o más tipos de contenido separados por comas.
--locale <code>...todos los idiomas (excepto el predeterminado)Idiomas de destino separados por espacios (anula --preset).
--preset <name>-Un grupo localePresets definido en la configuración.
--slug <en-slug>-Un único documento en inglés.
--strategy <all|missing-only>allall incluye documentos desactualizados y faltantes. missing-only omite la retraducción de los desactualizados.
--batch / --directbatchModo de traducción. batch envía todo a la API Batch de Gemini ahorrando la mitad de los tokens. direct hace llamadas a la API página por página con resultados inmediatos.
--resume-Revisa los trabajos por lotes pendientes, asimila los terminados y no envía nada nuevo.
--concurrency <n>3Peticiones de traducción en paralelo (solo para el modo directo).
--model <id>gemini-3.1-proPermite usar otro modelo de Gemini.
--dry-run-Imprime la lista de tareas pendientes sin realizar peticiones a la API ni escribir datos. Muestra una estimación del consumo de tokens y del costo en dólares (USD) por archivo y en total.
--force-Vuelve a traducir aunque coincida el hash del contenido en inglés.
--no-progress-Muestra un registro de texto línea por línea en lugar de la barra de progreso interactiva.

Las ejecuciones interactivas muestran una barra de progreso en tiempo real con el estado de los procesos por lotes, resultados por documento, recuento continuo de tokens de entrada y salida, así como un costo estimado en dólares (incluyendo tokens de razonamiento). Los trabajos por lotes se guardan en el almacén de datos antes de comenzar a consultar su estado. Esto hace que cancelar con Ctrl+C sea totalmente seguro, ya que la siguiente ejecución (o --resume) los retomará sin enviar peticiones duplicadas. Si algún documento falla, el comando devuelve un código de error. Tienes más detalles en la sección de traducción.

scribe delete

scribe delete <type> <en-slug> [--dry-run] [--yes]

Elimina una entrada y todos sus elementos dependientes siguiendo la cascada de referencias. Primero elabora un plan y lo muestra agrupado por secciones: eliminaciones en cascada, relaciones desvinculadas, archivos multimedia afectados, recuentos del almacén de datos (traducciones y capturas) y cualquier elemento de bloqueo. Después, pide confirmación y/N antes de ejecutarse. La ejecución sigue exactamente este plan (archivo de origen, filas del almacén de datos, archivos multimedia y reescrituras de desvinculación) sin hacer nada más.

FlagDescription
--dry-runImprime el plan y finaliza correctamente (código 0) sin eliminar nada.
--yesOmite la pregunta de confirmación (ideal para scripts).

El plan se determina según el modo onTargetDelete de las relaciones (restrict, detach, cascade) y el modo onDelete de los campos multimedia (delete, keep). Consulta el modelo de contenido para ver las opciones de cada campo. Si un plan tiene bloqueos (una referencia restrict o una relación obligatoria que quedaría huérfana), muestra estos problemas y sale con código 1 sin eliminar nada. La interfaz del studio presenta el mismo plan en un botón de borrado.

scribe history <type> <en-slug> [locale]

Muestra el historial de las capturas en inglés de un documento: cuándo se realizó cada captura, el hash de su contenido y qué traducciones se crearon a partir de ella. Puedes pasar un código de idioma para filtrar los resultados.

scribe studio

Es una interfaz web local de solo lectura (por defecto http://127.0.0.1:3600, se puede cambiar con --port). Muestra la cobertura de traducción por tipo de contenido y por idioma, la lista de tareas pendientes y detalles de cada documento: frontmatter con los marcadores estructurales o traducibles, la traducción guardada, sus metadatos (modelo, fecha, hash) y la versión en inglés de la que procede. Nunca modifica los archivos (la edición se mantiene en tu editor y en git).

scribe export-static

Escribe los archivos MDX en bruto (frontmatter y cuerpo, separados por idiomas) en un directorio estático. Resulta muy útil para servir versiones en texto plano optimizadas para rastreadores o herramientas LLM.

FlagDefaultDescription
--out <dir>publicDirectorio de salida.
--extension <ext>mdxExtensión de los archivos exportados.
--type <id,id>todos los tipos enrutablesTipos de contenido separados por comas.
--locale <code>...todos los idiomasIdiomas que se exportarán.

Los directorios de salida gestionados se vacían antes de escribir los archivos nuevos. Se omiten los documentos que actúan como origen de redirección en _redirects.json.

scribe version

Muestra la versión instalada de scribe-cms (también sirve --version o -V).

Referencia de la CLI · Scribe