minifly/lib.rs
1//! # Minifly
2//!
3//! Local Fly.io development simulator with incredible developer experience.
4//!
5//! Minifly provides a complete local development environment that simulates the Fly.io platform,
6//! allowing you to develop, test, and debug your applications with the same APIs and behavior
7//! you'll see in production.
8//!
9//! ## Features
10//!
11//! - **Complete Fly.io API Compatibility** - Full Machines API with Docker integration
12//! - **LiteFS Integration** - Distributed SQLite with local replication testing
13//! - **Incredible Developer Experience** - Hot reloading, watch mode, structured logging
14//! - **Multi-region Simulation** - Test region-specific behavior locally
15//! - **Real-time Monitoring** - Comprehensive status dashboards and logging
16//! - **Docker Management** - Automatic container lifecycle management
17//!
18//! ## Quick Start
19//!
20//! ```bash
21//! # Install minifly
22//! cargo install minifly
23//!
24//! # Initialize and start
25//! minifly init
26//! minifly serve
27//!
28//! # Deploy your first app
29//! minifly deploy
30//! ```
31//!
32//! ## Examples
33//!
34//! ### Basic Usage
35//!
36//! ```rust,no_run
37//! use minifly::{Config, ApiClient};
38//!
39//! #[tokio::main]
40//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
41//! // Load configuration
42//! let config = Config::load()?;
43//!
44//! // Create API client
45//! let client = ApiClient::new(&config)?;
46//!
47//! // Create an application
48//! client.create_app("my-app").await?;
49//!
50//! // Deploy a machine
51//! let machine = client.create_machine("my-app", "nginx:latest", None, None).await?;
52//! println!("Created machine: {}", machine.id);
53//!
54//! Ok(())
55//! }
56//! ```
57
58pub mod config;
59pub mod client;
60pub mod logging;
61pub mod types;
62
63pub use config::Config;
64pub use client::ApiClient;
65pub use types::*;