Skip to main content

Mountain/Binary/
mod.rs

1//! # Binary
2//!
3//! Main entry point and initialization for the Mountain desktop application.
4//! Handles application startup, Tauri command registration, configuration,
5//! and lifecycle management.
6//!
7//! ## Module Layout
8//!
9//! - [`self::Main`]: Application entry point and orchestration
10//! - [`self::Build`]: Tauri application builder configuration
11//! - [`self::Register`]: Command and service registration
12//! - [`self::Service`]: Service initialization (Vine, Cocoon, Configuration)
13//! - [`self::Initialize`]: Application state initialization
14//! - [`self::IPC`]: IPC command handlers bridging the frontend invoke calls to
15//!   Rust
16//! - [`self::Tray`]: System tray integration
17//! - [`self::Extension`]: Extension startup and management
18//! - [`self::Shutdown`]: Graceful shutdown handling
19//! - [`self::Debug`]: Debug and trace logging utilities
20//!
21//! ## Architectural Role
22//!
23//! ```text
24//! main.rs --> Binary::Main (Entry) --> Build --> Register --> Initialize --> Services
25//!                                    |           |            |             |
26//!                                    v           v            v             v
27//!                               AppLifecycle  Commands    Services    Vine/Cocoon
28//!                                        |            |            |
29//!                                  IPCCommands  IPCBridge  ProcessMgmt
30//! ```
31//!
32//! ## Design Principles
33//!
34//! 1. **Single Entry Point**: One clear entry point for the application.
35//! 2. **Lazy Initialization**: Services started only when needed.
36//! 3. **Graceful Shutdown**: Clean shutdown of all services.
37//! 4. **Error Resilience**: Graceful degradation on startup failures.
38//!
39//! No `pub use` re-exports - callers spell the full reverse-hierarchical
40//! path (`Binary::Main::Entry::Fn`, `Binary::Build::LocalhostPlugin::Fn`,
41//! etc.).
42//!
43//! ## Planned Work
44//!
45//! - Crash recovery mechanism
46//! - Error dialog for startup failures
47//! - Startup performance metrics
48//! - Incremental service startup
49//! - Service health checks during startup
50
51/// Main application entry point and orchestration.
52pub mod Main;
53
54/// Tauri application builder configuration.
55pub mod Build;
56
57/// Command and service registration.
58pub mod Register;
59
60/// Service initialization (Vine, Cocoon, Configuration).
61pub mod Service;
62
63/// Application state initialization.
64pub mod Initialize;
65
66/// IPC command handlers bridging the frontend invoke calls to Rust.
67pub mod IPC;
68
69/// System tray integration.
70pub mod Tray;
71
72/// Extension startup and management.
73pub mod Extension;
74
75/// Graceful shutdown handling.
76pub mod Shutdown;
77
78/// Debug and trace logging utilities.
79pub mod Debug;