Skip to Content
BehaviorCommand behavior snapshot

Command behavior snapshot

High-level inputs, outputs, failure modes, and where to read more. For details, follow the link in each row.

When JSON is Yes, structured stdout uses the envelope documented in JSON output (--json) (ok, kind, data, …).

CommandInputs (flags / env)Stdout / stderrJSONNotes
init--yes, promptsHumanNoCreates config when missing.
configglobal --configResolved configYesfieldSources, paths.
validate--source, --locales-dir, global overridesHuman or JSONYesKeys vs source.
sync--dry-run, --langHuman or JSONYesMerge/prune to source shape.
generate--lang, --source, --force, --dry-run, meta flagsHuman; stderr progress when allowedYesRequires --lang when non-interactive; catalog validation; no Inquirer prompts with --json. See generate.
missing--locale, --dry-run, --from-report, --top, --full-list, global --report-file, global --yesHuman or JSONYesScaffold keys into source locale JSON or locales/<code>.json. See missing.
fill--target, --all, --dry-run, --ask, --no-metaHuman or JSON; stderr progress when allowed (human)YesRequires --target or --all when non-interactive; same translation pipeline as generate. See fill.
quality--langHuman or JSONYesParity / drift.
review--langHuman or JSONYesLocale vs source.
cleanup--check-only, --skip-rgHuman or JSONYesUnused keys.
languages--filter, --tableHuman or JSONYesCatalog list.
locales / locales list / locales editvariesHumanVariesSee command help.
doctor--only, --strictHuman or JSONYesRead-only diagnostics.
helpHelp textNoStyled formatHelp.

Global flags (see CLI overview): --config, --yes, --json, -q / -s, --source, --locales-dir, --src, --functions, --no-discovery.

Non-interactive (CI, no TTY, I18NPRUNE_NO_INIT, or command-specific run.json): no prompts; fail fast on missing required flags — see Exit codes & behavior and JSON & long.

Translator (generate / fill): shared translateLeaf + provider; see Translator & progress.

Dry-run (--dry-run): implemented for generate, fill, and sync — no writes under localesDir; human mode prints [info] lines that state nothing was written. Other commands do not expose --dry-run until there is a clear “would do X” contract.

Source locale: the basename of the configured source JSON (e.g. en) is not a valid --lang for generate / fill, or sync. Locale slug hints (e.g. locales edit) omit the source file from “expected one of …” lists.