El CLI se publica en npm como @linguacode/cli. Instálalo de forma global, ejecútalo con npx o compílalo desde el código fuente.
Las Run Capsules conservan un buffer de código, entrada, argumentos, metadatos de entorno y salida registrada. El CLI puede validar ese contrato o repetir su única fuente con un runtime local.
Valida sin ejecutar
lingua capsule validate ./run.capsule.json
lingua capsule validate ./run.capsule.json --json
La validación revisa el límite de 4 MiB, la sintaxis JSON, la versión del esquema, las migraciones, los campos obligatorios y sus tipos. Nunca ejecuta el código guardado.
Úsala como gate de carga o build:
for capsule in build/*.capsule.json; do
lingua capsule validate "$capsule" --quiet || exit 1
done
Repite una fuente confiable
lingua capsule replay ./run.capsule.json
lingua capsule replay ./run.capsule.json --timeout 60000 --json
Replay verifica primero que source.content coincida con su hash SHA-256. Después ejecuta el código y compara estado, stdout y stderr con el resultado registrado.
Un comando correcto todavía puede devolver comparison.matches: false. Eso es evidencia útil de reproducibilidad, no un error del runtime.
Conoce el límite de confianza
El hash detecta inconsistencias accidentales. No es una firma: quien edita el archivo también puede reemplazar el código y recalcular el hash. Repite únicamente Capsules de fuentes confiables porque el código recibe tus permisos del sistema operativo.
Las Capsules de preview del navegador no se pueden repetir en un proceso headless. Un runtime ausente termina con código 3 en vez de sustituir silenciosamente el modo de ejecución.
Workaround para Capsule Workspace
CapsuleWorkspaceV1 puede transportar archivos de texto adicionales seleccionados explícitamente para revisarlos en la app. El CLI no reconstruye ni repite ese wrapper multiarchivo.
- Si la Capsule anidada funciona por sí sola, extrae y repite esa única fuente.
- Si depende de archivos vecinos, usa
lingua run <directorio-del-proyecto>sobre el proyecto real.