CLI reference
CLI reference
intl-ai is a single binary. Every command accepts --format json for machine-readable output, and - as --config reads TOML from stdin.
intl-ai init
Scaffold intl-ai.toml for the current project.
intl-ai init --locale-dir locales --source en --targets es,fr
intl-ai fill
Translate missing keys. Additive by default: it never overwrites existing values unless --regenerate or --stale say so.
intl-ai fill # all missing keys, all configured targets
intl-ai fill --locale es # one locale (repeatable or comma-separated)
intl-ai fill --keys 'auth.*' # glob scope (repeatable or comma-separated)
intl-ai fill --keys-file keys.txt # one key glob per line
intl-ai fill --stale # re-fill AI-owned keys whose source changed
intl-ai fill --regenerate --keys 'x' # rewrite AI-owned existing values
intl-ai fill --regenerate --yes # confirm a whole-locale rewrite
intl-ai fill --regenerate --include-human --keys 'x' # also human-owned values
intl-ai fill --dry-run # report without writing anything
intl-ai fill --validate icu,judge # run the fill gate with these checks
intl-ai fill --no-validate # skip the configured [fill].validate gate
intl-ai fill --judge-threshold 0.9 # override the judge threshold for this run
intl-ai fill --no-cache # skip the stat cache for this run
intl-ai fill --progress # stream per-batch progress lines to stderr
--regenerate is destructive: it requires a --keys scope, --keys-file, or --yes to confirm a whole-locale rewrite.
intl-ai check
Report findings without writing. Exit status follows --fail-on.
intl-ai check # all configured checks and targets
intl-ai check --fail-on missing,invalid
intl-ai check --fail-on none # report only, never fail
intl-ai check --locale es --keys 'auth.*'
intl-ai check --origin ai # scope stale/modified/unreviewed to one origin
intl-ai check --self-test # run each spec check's fixtures
intl-ai check --no-cache # skip stat cache and the findings cache
intl-ai check --progress # stream per-locale findings to stderr
Findings are cached incrementally in .intl-ai/check-cache.json: unchanged keys replay their previous findings (cached: true in JSON output) instead of re-running the check.
intl-ai mark
Set the origin on lockfile entries (the escape hatch for the positional review rule).
intl-ai mark 'checkout.*' --locale es --origin ai # rebaseline as AI-owned
intl-ai mark 'checkout.*' --locale es --origin human # claim as human-owned
intl-ai mark 'legal.*' --locale es --absent # tombstone: never translate
intl-ai mark 'legal.*' --locale es --present # clear a tombstone
--origin ai requires an existing entry; --origin human upserts one. Tombstoned keys are skipped by fill and not reported missing by check.
intl-ai review / intl-ai unreview
Set reviewed on lockfile entries.
intl-ai review 'checkout.*' --locale es
intl-ai unreview 'auth.*' --locale es
intl-ai status
Per-locale inventory counts. Read-only and cheap enough for agents to call before deciding what to do.
intl-ai status
intl-ai status --locale es
intl-ai lockfile
Lockfile maintenance over the intl-ai.lock.d/ shards.
intl-ai lockfile check # validate every shard
intl-ai lockfile fmt # rewrite shards to canonical form (idempotent)
intl-ai lockfile merge # resolve merge conflicts in shards
intl-ai config
intl-ai config validate # resolve and validate the config (secrets masked)
intl-ai config schema # print the JSON Schema for the config contract
The committed schema lives at docs/public/schema/intl-ai.schema.json and is served at https://intl-ai.illo.fyi/schema/v1.json.
Global flags
| Flag | Description |
|---|---|
--config <path> |
Config file path. - reads TOML from stdin. |
--format json |
Machine-readable output (also human, the default). |