1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//! # Ninja Core Library
//!
//! The core library for Ninja, a service orchestration and management framework.
//! This library provides the foundational components for managing Shurikens
//! (services) including configuration, scripting, installation, and lifecycle management.
//!
//! ## Main Components
//!
//! - [`manager`]: Main orchestrator for Shuriken management (`ShurikenManager`)
//! - [`shuriken`]: Shuriken service representation and operations
//! - [`common`]: Core types, configuration, and error handling
//! - [`scripting`]: Lua-based DSL and script execution engine
//! - [`utils`]: Utility functions for file operations, downloads, and system integration
//! - [`backup`]: Backup and restore functionality
//!
//! ## Quick Start
//!
//! ```ignore
//! use ninja_core::manager::ShurikenManager;
//!
//! #[tokio::main]
//! async fn main() -> anyhow::Result<()> {
//! // Initialize the manager
//! let manager = ShurikenManager::new().await?;
//!
//! // List all available Shurikens
//! let shurikens = manager.list(false).await?;
//!
//! // Start a specific Shuriken
//! manager.start(\"my-service\").await?;
//!
//! // Configure it
//! manager.configure(\"my-service\").await?;
//!
//! Ok(())
//! }
//! ```
/// Backup and restore functionality for Shurikens
/// Core types, configuration, and error definitions\npub mod common;
/// Main orchestrator for managing Shuriken services\npub mod manager;
/// Lua scripting engine and DSL support\npub mod scripting;
/// Individual Shuriken service representation and operations\npub mod shuriken;
/// Utility functions for common operations\npub mod utils;
/// Version string from Cargo.toml\npub const VERSION: &str = env!(\"CARGO_PKG_VERSION\");
pub const VERSION: &str = env!;