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.
lingua run convierte un archivo o un directorio de proyecto convencional en un comando predecible. Lingua selecciona un runtime instalado, lo inicia sin shell, limita la salida y controla el timeout.
Ejecuta un archivo
lingua run ./hello.js
lingua run ./analysis.py
lingua run ./hello.go
lingua run ./hello.rs --timeout 60000
JavaScript y TypeScript usan Node.js. Python, Go, Rust, Ruby y Lua usan sus toolchains de terminal. Si falta un runtime, Lingua termina con código 3 e indica la capacidad ausente.
Pasa stdin sin un pipe frágil
Usa --stdin cuando la entrada ya está en un archivo:
lingua run ./normalize.py --stdin fixtures/raw.txt
También funciona un pipe normal:
printf 'Ada\nGrace\n' | lingua run ./greet.js
Una terminal interactiva envía EOF cuando no existe un pipe, así que un programa que lee stdin no queda esperando una entrada invisible.
Pasa argumentos a tu programa
Coloca las opciones de Lingua antes de --. Cada token posterior llega al programa sin cambios:
lingua run ./scripts/check.ts --timeout 45000 -- --verbose --fix src
Este es el workaround cuando tu programa también tiene una opción --json o --quiet.
Agrega variables de entorno explícitas
lingua run ./worker.py \
--env MODE=development \
--env FEATURE_X=enabled
Puedes repetir --env. Lingua no hereda ciegamente todas las variables del proceso padre y bloquea claves de inyección del loader y NODE_OPTIONS. Pasa secretos solo cuando sean indispensables; el historial del shell y los logs de CI pueden exponer argumentos.
Ejecuta un proyecto convencional
lingua run ./my-project
La detección sigue un orden fijo:
package.json:scripts.start, luegoscripts.devy después unmainválido.go.mod:go run ..Cargo.toml:cargo run --quiet --.- Entradas convencionales como
main.py,index.jsosrc/index.ts.
Si un framework necesita un launcher especial, ejecútalo directamente o apunta Lingua a un archivo que funcione de manera independiente. Lingua no adivina comandos específicos de frameworks.
Automatiza de forma determinista
Usa --json cuando otro programa consuma el resultado y revisa el código de salida:
if result=$(lingua run ./healthcheck.ts --json); then
printf '%s\n' "$result" | jq -r '.run.stdout'
else
printf '%s\n' "$result" | jq -r '.reason' >&2
fi
El modo normal transmite la salida mientras corre el programa. El modo JSON guarda la misma salida limitada dentro de un solo documento válido.