Instala el CLI con Homebrew en macOS, usa @linguacode/cli mediante npm o npx, o compílalo desde el código fuente. Fija una versión para automatización.
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.
De la app a la CLI
Ejecuta código en Lingua y abre Configuración → Cuenta → Cápsulas de
ejecución. Elige Guardar JSON para CLI. La app de escritorio usa un diálogo
local para guardar; el navegador descarga el mismo JSON RunCapsuleV1 saneado. El nombre
sugerido es lingua-run.capsule.json. También puedes importar el JSON en
Lingua para previsualizarlo sin ejecutarlo.
En una terminal abierta en la carpeta del archivo, valida primero:
lingua capsule validate "lingua-run.capsule.json" --json
Revisa el código en el JSON y usa el comando de replay por separado solo si confías en él. Replay ejecuta código con tus permisos del sistema:
lingua capsule replay "lingua-run.capsule.json" --json
La app ofrece botones independientes para copiar los comandos; copiarlos no ejecuta ninguno. Cambia la ruta entre comillas si elegiste otro nombre o carpeta.
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.