Skip to Content
CommandsCommands

Commands

Each subcommand has a dedicated page. The CLI prints a Documentation link at the bottom of help output (see packages/cli/src/constants/docs.ts).

Architecture rule: command files are orchestrators; reusable logic belongs in core/ (or shared utils/). See command orchestration boundary.

Command source layout (packages/cli/src/commands/)

  • commands/<name>/index.ts — re-exports only (e.g. export { sync } from './run.js').
  • commands/<name>/run.tsprimary exported handler first (right after imports), private helpers below. Handler named after the CLI subcommand (e.g. sync(), generate(), missing()). The locales command uses localesList, localesEdit, localesDynamic, localesDelete for its sub-actions.
  • Other files in the folder — optional splits (summary.ts, targets.ts, …) for orchestration and CLI output, not domain engines.

help (locked): no help() runner — configureCliHelp and colorizeHelpText only (help/run.ts). See help.

Domain behavior stays in packages/cli/src/core/**. Table and rationale: Command orchestration boundary — file layout.

CommandDocs
initinit
configconfig
validatevalidate
missingmissing
syncsync
generategenerate
fillfill
qualityquality
reviewreview
cleanupcleanup
languageslanguages
doctordoctor
helphelp
reportreport

locales: list, edit, dynamic, delete.

Global --version / -v: version.

Subcommands use full names only (no short aliases like gen / val). Optional argv normalization: --langs as the first token is accepted as languages.

See also CLI overview.