The top-level command shape is:
netsuke [OPTIONS] [COMMAND]
netsuke [OPTIONS] build [TARGETS]...
Global options must appear before the subcommand. For example,
netsuke --color always build is valid; netsuke build --color always is not.
The commands are:
build [TARGETS]...: generate Ninja and build the named targets. With no targets, use configured defaults and then manifest defaults.clean: generate a temporary Ninja file and runninja -t clean.graph: render the build graph as DOT or self-contained HTML without invoking Ninja.generate: write Ninja without invoking it. Outside JSON mode, the generated Ninja manifest is the only content written to stdout; use--output <FILE>to write it to a file instead. In JSON mode (--json) the manifest is carried in the result document'sresult.contentfield instead.
Running netsuke without a subcommand is the same as netsuke build with no
explicit targets. A bare target such as netsuke hello is not accepted; use
netsuke build hello.
Important global options include:
-f, --file <FILE>-C, --directory <DIR>--config <FILE>-j, --jobs <N>(accepts 1 to 64)-v, --verbose--locale <LOCALE>--no-input--json--color <auto|always|never>--emoji <auto|always|never>--progress <auto|always|never>--accessibility <auto|on|off>--default-target <TARGET>
Run netsuke --help or netsuke <command> --help for the complete current
surface.
Choose a language with `--locale`
Netsuke's help text, validation errors, progress labels, and runtime diagnostics are translated. The locale is chosen by the first source that yields a valid BCP 47 tag, and which sources are available depends on when the message is rendered.
Help, usage, and command-line validation errors are produced before any
configuration file is read, so they use the --locale flag, then
NETSUKE_LOCALE, then the system default, then en-US. Diagnostics, progress,
and status output are rendered after the configuration merge, so they consult
the configuration file's locale setting as well, between NETSUKE_LOCALE and
the system default.
System values are normalized first, so en_GB.UTF-8 is understood as en-GB.
Table 1: Locales Netsuke ships
| Tag | Language | Tag | Language |
|---|---|---|---|
ar |
Arabic | it |
Italian |
cs |
Czech | ja |
Japanese |
cy |
Welsh | ko |
Korean |
da |
Danish | nb |
Norwegian Bokmål |
de |
German | nl |
Dutch |
el |
Greek | pl |
Polish |
en-GB |
English (United Kingdom) | pt-BR |
Portuguese (Brazil) |
en-US |
English (United States) | pt-PT |
Portuguese (Portugal) |
es-419 |
Spanish (Latin America) | ro |
Romanian |
es-ES |
Spanish (Spain) | ru |
Russian |
fa |
Persian | sv |
Swedish |
fi |
Finnish | th |
Thai |
fr |
French | tr |
Turkish |
gd |
Scottish Gaelic | uk |
Ukrainian |
he |
Hebrew | vi |
Vietnamese |
hi |
Hindi | zh-Hans |
Chinese (Simplified) |
hu |
Hungarian | zh-Hant |
Chinese (Traditional) |
id |
Indonesian |
en-US is the source locale. Any message a translation has not yet covered
falls back to the English text rather than disappearing.
A requested tag resolves by these rules, in order:
- The exact tag, if a catalogue carries it.
- A script or region rule for that language. Bare
esandes-ESusees-ES, and every other Spanish region useses-419; bareptand every Portuguese region except Brazil usept-PT; Chinese resolves by script, withzh-CN,zh-SG, andzh-MYtaking Simplified andzh-TW,zh-HK, andzh-MOtaking Traditional; English outside the United States usesen-GB; andnoresolves tonb. - The only catalogue for that language, so
fr-CAusesfrandde-ATusesde. en-US, for anything still unmatched.
Regional and script variants that differ in substance are never merged: asking
for pt-BR never yields European Portuguese, and asking for zh-TW never
yields Simplified Chinese.
Manual pages and PowerShell help shipped in releases are generated in en-US
only. Translated copy reaches users through the running binary, which embeds
every catalogue.
Anchor a project with `--directory`
--directory changes manifest lookup, project configuration discovery and
relative output paths:
netsuke --directory /path/to/project build
An explicit --config path remains relative to the shell's original working
directory.
Generate and inspect artefacts
These commands cover the non-default utility workflows:
netsuke clean
netsuke graph --output build.dot
netsuke graph --html --output graph.html
netsuke generate
netsuke generate --output build.ninja
graph is rendered in-process and does not require Ninja. DOT goes to stdout
unless --output is supplied. HTML output contains a server-rendered SVG, a
textual outline and a <noscript> DOT representation.
generate writes Ninja without running it. With no --output, stdout contains
only the generated Ninja manifest. With --output <FILE>, Netsuke writes the
manifest to that file and leaves stdout empty.
clean removes file outputs tracked by Ninja. Phony targets and actions do not
represent files and are not removed.