Overview
Thejarvis-app crate is the main application orchestrator for Jarvis. It initializes the window, manages application state, handles events, and coordinates between all subsystems (renderer, tiling, AI, webview, etc.).
CLI Interface
Jarvis accepts command-line arguments for customization and debugging.Command-Line Arguments
Execute a command instead of the default shell.Example:
Working directory to start in.Example:
Config file path override. By default, Jarvis loads from the OS config directory.Example:
Log level override. Valid values:
debug, info, warn, error.Example:Usage
Architecture
The application uses a modular architecture:- App State: Central state machine tracking assistant mode, panels, menus
- Event Handler: Processes window events, keyboard input, IPC messages
- Dispatch: Routes commands to appropriate subsystems
- Assistant Task: Manages AI conversation loop and tool execution
Related Crates
jarvis-tiling— Window management and pane layoutjarvis-renderer— GPU rendering pipelinejarvis-ai— AI client and session managementjarvis-webview— Embedded web contentjarvis-config— Configuration system