Netsuke is a modern, declarative build system designed to be intuitive, fast,
and safe. Think of it not just as a make replacement, but as a build system
compiler. You describe your build process in a human-readable YAML manifest
(Netsukefile), leveraging the power of Jinja templating for dynamic logic.
Netsuke then compiles this high-level description into an optimized build plan
executed by the high-performance Ninja build
system.
Core Philosophy:
-
Declarative: Define what you want to build, not how step-by-step.
-
Dynamic where needed: Use Jinja for variables, loops (
foreach), conditionals (when), file globbing (glob), and more. -
Static Execution Plan: All dynamic logic is resolved before execution, resulting in a static Ninja file for fast, reproducible builds.
-
Safety First: Automatic shell escaping prevents command injection vulnerabilities.
-
Fast Execution: Leverages Ninja for efficient dependency tracking and parallel execution.