Expand description
Main application entry point and orchestration.
Contains the Fn() function which is the primary entry point for the
Mountain
§Entry (Binary/Main)
§RESPONSIBILITIES
Main application entry point that orchestrates the complete application lifecycle. This function coordinates:
- Tokio runtime creation and management
- CLI argument parsing
- Application state initialization
- Tauri application builder setup
- Service initialization (Vine, Cocoon, Configuration)
- Graceful shutdown handling
§ARCHITECTURAL ROLE
The Entry module is the primary entry point in Mountain’s architecture:
main.rs ──► Binary::Main::Entry::Fn()
│
▼
AppLifecycle ──► Service Initialization ──► Tauri App Run
│
▼
Graceful Shutdown§KEY COMPONENTS
- Fn(): Main entry point exported as
Binary::Main::Fn() - Tokio runtime management
- Application state initialization via StateBuild
- Tauri builder configuration via TauriBuild
- Service orchestration (Vine, Cocoon, Configuration)
- Event-driven lifecycle management
§ERROR HANDLING
- Panics on fatal errors (Tokio runtime failure, Tauri build failure)
- Logs errors for service initialization failures
- Graceful degradation for non-critical service failures
§LOGGING
Uses the TraceStep! macro for checkpoint logging at TRACE level. Additional logging at DEBUG, INFO, WARN, and ERROR levels throughout.
§PERFORMANCE CONSIDERATIONS
- Tokio multi-threaded runtime for optimal performance
- Asynchronous service initialization
- Lazy initialization where possible
§TODO
- Add crash recovery mechanism
- Implement proper error dialog for startup failures
- Add startup performance metrics
Macros§
- Trace
Step 🔒 - Logs a checkpoint message at TRACE level.
Functions§
- Fn
- The main function that orchestrates the application lifecycle.