Welcome to Ninja
Ninja is a modern service management system built around Shurikens: self-contained service packages with metadata, lifecycle scripts, templates, and optional tools.
Quick Navigation
- Getting Started - Install and run your first shuriken
- Installation - Platform-specific setup options
- Developer Guide - Architecture, scripting, and service state
- Reference - CLI commands, API, and configuration details
What is a Shuriken?
A shuriken is a packaged service distributed as a .shuriken file containing:
- Metadata - Name, version, platform, and description
- Management - Start/stop logic (script or native binary)
- Configuration - Templates and user options
- Tools - Optional executable scripts
- Lifecycle hooks - Post-install and other scripts
Key Features
- Cross-platform - Linux, macOS, and Windows support
- Flexible management - Script-based or native binary control
- Template-based config - Tera templates with user options
- Process safety - PID + start time verification
- Scriptable - Lua API and DSL for automation
Start with the Quickstart Guide for a practical example, then read the Architecture Guide for the system layout.