Vitte CLI
Usage:
vitte [command] [options] <input>
Commands (recommended):
helpShow help and common tasksinit [dir]Create a minimal project scaffoldexplain <code>Explain a diagnostic (e.g. E0001)doctorCheck toolchain prerequisitesparseParse only (no backend)checkParse + resolve onlyemitEmit C++ only (no native compile)buildFull build (default)
Options:
--lang <code>Language for diagnostics (e.g. en, fr). Defaults toLANG/LC_ALL, thenen.--explain <code>Explain a diagnostic (e.g. E0001).--stdoutEmit C++ to stdout (impliesemit).--emit-objEmit a native object file (.o).--reproEnable reproducible object output flags.--repro-strictEnforce strict deterministic IR lowering order.--parse-modulesParse + load modules (no resolve/lowering).--parse-silentSuppress parse-only informational logs.- Diagnostics include stable error codes (e.g.
error[E0001]: ...).
Examples:
vitte help
vitte init
vitte init app
vitte explain E0001
vitte doctor
vitte parse --lang=fr src/main.vit
Error Codes:
- Diagnostics use stable codes like
E0001. These codes are defined insrc/compiler/frontend/diagnostics_messages.hpp. - The
.ftllocalization files can translate by code (preferred) or by message key.
Stdlib:
- See
docs/stdlib.mdfor standard library modules and examples.
Legacy flags (still supported):
--parse-only--resolve-only--hir-only--mir-only--emit-cpp--strict-parse
Notes:
- Commands set a default mode, but explicit flags still override.
- For strict parsing, use
parse --strict-parse <file>.