What you get
CLI, GUI, and APIs
A command-line workflow, a Next.js + Tauri desktop app, and HTTP access for automation.
Ninja packages services as shurikens: installable units with their own metadata, scripts, config, and lifecycle. One product, one path, one place to get started.
Philosophy
Instead of juggling scattered tools and configuration formats, Ninja packages each service as a self-contained Shuriken with its own start, stop, log, and config behavior.
Portable
Services travel as packages
Deterministic
Same inputs, same service state
What you get
A command-line workflow, a Next.js + Tauri desktop app, and HTTP access for automation.
Scriptable
Embed Lua logic in shurikens and extend behavior with a dedicated service DSL.
Reliable
The engine is written in Rust for performance, process safety, and service state tracking.
Extensible
Integrate with agents, C/C++ code, snapshot service state, and plug into CI/CD workflows.
Quick start
Install Ninja, add a .shuriken package, render templates, and start the service from the CLI or desktop UI.