herolib_os/lib.rs
1//! # herolib-os
2//!
3//! Unified system utilities for OS interaction, process management,
4//! git operations, network operations, and SSH.
5//!
6//! ## Modules
7//!
8//! - [`os`]: Operating system interaction utilities (filesystem, downloads, packages, platform detection)
9//! - [`process`]: Cross-platform process management and command execution
10//! - [`git`]: Git repository management and operations
11//! - [`net`]: Network connectivity utilities (TCP, HTTP)
12//! - [`ssh`]: SSH connections, file transfers, key management
13//!
14//! For installation utilities, see the separate `herolib-installers` package.
15//! For virtualization, containerization, and Kubernetes tools, see the separate `herolib-virt` package.
16//!
17//! ## Features
18//!
19//! - `rhai` (default): Enable Rhai scripting support for all modules
20//! - `kubernetes`: Enable Kubernetes management functionality
21//! - `full`: Enable all features
22//!
23//! ## Example
24//!
25//! ```rust,no_run
26//! use herolib_os::{os, process, git, net, ssh};
27//!
28//! // Use OS utilities
29//! let exists = os::exist("/tmp/myfile.txt");
30//!
31//! // Run a command
32//! let result = process::run_command("echo hello");
33//!
34//! // Work with git repositories
35//! let tree = git::GitTree::new("/path/to/repos");
36//!
37//! // Check network connectivity
38//! let is_open = net::tcp::TcpConnector::new().check_port_by_name("google.com", 443);
39//!
40//! // SSH connection
41//! let conn = ssh::SshConnection::builder()
42//! .host("example.com")
43//! .user("ubuntu")
44//! .build();
45//! ```
46
47pub mod git;
48pub mod net;
49pub mod os;
50pub mod process;
51pub mod profiling;
52pub mod rsync;
53pub mod ssh;
54
55// Rhai integration - consolidated module
56#[cfg(feature = "rhai")]
57pub mod rhai;