# Simple CLI A simple, CLI-focused Debian-based particle-os system built on Universal Blue's framework. Simple CLI provides a minimal, immutable Linux distribution optimized for command-line usage and server workloads. ## Features - **Immutable Filesystem**: Built on OSTree for reliable, atomic updates - **Container-Native**: Built as a container image, deployed with bootc - **Minimal Footprint**: Focused on essential CLI tools and system utilities - **Modern Boot**: Uses bootupd for modern bootloader management - **Debian Base**: Built on Debian Trixie for stability and package availability ## Quick Start ### Building the Image ```bash # Clone the repository git clone https://github.com/your-username/simple-cli.git cd simple-cli # Build the container image just build # Test the image just test # Generate bootable images just generate-bootable ``` ### Using the System ```bash # Show system information ujust info # Check OSTree status ujust ostree-status # Update the system ujust update # View system services ujust services ``` ## Architecture Simple CLI follows the particle-os architecture: 1. **Container Image**: The OS is built as a container image using the Containerfile 2. **OSTree Deployment**: Container images are converted to OSTree commits 3. **Bootable Images**: bootc-image-builder creates bootable disk images 4. **System Management**: bootupd handles bootloader updates and management ## Directory Structure ``` simple-cli/ ├── Containerfile # Main container build definition ├── recipe.yml # particle-os recipe configuration ├── justfile # Build automation commands ├── config/ # System configuration files ├── usr/ # User space configurations ├── etc/ # System-wide configuration ├── build_files/ # Build-time specifications └── .github/workflows/ # CI/CD automation ``` ## Development ### Prerequisites - Podman or Docker - Just command runner - bootc-image-builder (for bootable image generation) ### Setup Development Environment ```bash just setup-dev ``` ### Available Commands ```bash just --list ``` ## Contributing 1. Fork the repository 2. Create a feature branch 3. Make your changes 4. Test with `just test` 5. Submit a pull request ## License This project is licensed under the Apache 2.0 License - see the LICENSE file for details. ## Acknowledgments - Built on [particle-os](https://github.com/particle-os) framework - Inspired by [Aurora](https://github.com/particle-os/aurora) and other particle-os projects - Uses [bootc](https://github.com/containers/bootc) for container-native boot - Powered by [OSTree](https://ostreedev.github.io/ostree/) for immutable filesystems