The CLI is published on npm as @linguacode/cli. Install it globally, run it with npx, or build it from source.
lingua utility brings focused transformations to the terminal. The adapters are shared with Lingua’s developer-utilities panels, but the CLI keeps the contract text-based and automation-friendly.
Discover before you guess
lingua list utilities
lingua list utilities --json | jq '.utilities[] | {id, options}'
The JSON registry is the safest way for scripts to discover ids, input/output kinds, and accepted options.
Read from stdin
echo '{"team":["Ada","Grace"]}' | lingua utility json-format
printf 'hello world' | lingua utility base64-encode
Stdin makes utilities compose naturally with curl, git, jq, and other programs.
Read a file
lingua utility json-format --input package.json --option indent=4
lingua utility base64-encode --input README.md
--input belongs only to utility. For an executed program’s stdin, use lingua run --stdin instead.
Repeat adapter options
lingua utility regex-replace --input src.ts \
--option pattern='console\\.log' \
--option flags=g \
--option replacement=logger.info
Each --option accepts one key=value pair. Quote values that contain spaces or shell metacharacters so your shell passes one argument.
Keep pipelines clean
--quiet removes Lingua diagnostics but preserves successful output:
lingua utility json-format --input raw.json --quiet > normalized.json
Use --json for a structured Lingua envelope, not when you want the transformed bytes directly:
lingua utility json-format --input raw.json --json | jq -r '.value'
Binary utility output is intentionally unsupported in this headless text contract and exits with code 3 rather than corrupting a terminal stream.