Netsuke is a build-system compiler. A build moves through six stages:
- Read the manifest.
- Parse YAML 1.2.
- Expand manifest-time
foreachandwhenexpressions. - Deserialize the typed manifest and render string fields.
- Build and validate a static intermediate representation (IR).
- Generate Ninja and, for
buildorclean, run Ninja.
All manifest-time decisions finish before Ninja starts. The generated graph is therefore static and inspectable.
A Netsukefile is executable build configuration, not passive data. Commands,
scripts, and impure template helpers can access the host. Review an untrusted
manifest with the same care as an untrusted Makefile.