egui-desktop-cli 0.2.1

CLI tool to initialize egui-desktop projects with a complete starter template
egui-desktop-cli-0.2.1 is not a library.

egui-desktop CLI

Simple CLI tool to initialize new egui-desktop projects with a complete modular starter template.

Installation

cargo install --path cli

Usage

egui-desktop my-awesome-app

This will create a new directory my-awesome-app with a complete modular project structure:

my-awesome-app/
├── Cargo.toml
└── src/
    ├── main.rs              # Application entry point
    ├── lib.rs               # Module declarations and exports
    ├── app.rs               # Main application struct and logic
    ├── theme_provider.rs    # Custom theme system (Ocean, Forest)
    ├── sidebar.rs           # Sidebar and main content rendering
    └── icons.rs             # Custom icon drawing functions

What it does

  • Creates a new project directory with proper structure
  • Generates a modular codebase (6 files instead of 1 monolithic file)
  • Copies the complete starter template with all features
  • Generates a Cargo.toml with the correct dependencies
  • Ready to run with cargo run

Example

egui-desktop my-app
cd my-app
cargo run

Your app will run with all the features from the starter:

✨ Features Included

  • 🎨 Custom Themes: Ocean (blue) and Forest (green) themes in light/dark variants
  • ⌨️ Keyboard Navigation: Full Alt+Arrow keys menu navigation
  • 📋 Complex Menus: Multi-level menus with submenus and shortcuts
  • 🎛️ Interactive Sidebar: Theme controls and live preview
  • 🪟 Window Features: Native rounded corners and resize handles
  • 🎯 Professional Structure: Modular code organization showing best practices

🏗️ Project Structure Benefits

  • Modular Design: Each component in its own file for better maintainability
  • Clean Architecture: Separation of concerns (UI, themes, logic)
  • Learning Resource: Shows how to organize egui applications properly
  • Extensible: Easy to add new features or modify existing ones

Development

The CLI uses a modular starter template located in cli/src/starter/ that demonstrates:

  • How to structure egui applications
  • Custom theme implementation
  • Menu system with keyboard shortcuts
  • Sidebar animations and interactions
  • Cross-platform window features

This makes it an excellent starting point for both learning and production applications.