diff --git a/GEMINI.md b/GEMINI.md new file mode 100644 index 0000000..18d2c04 --- /dev/null +++ b/GEMINI.md @@ -0,0 +1,21 @@ +# DiceOS + +DiceOS is a custom desktop-like environment built on top of the LibGDX framework using Java. It features a custom rendering pipeline, windowing system, and modular service-based architecture managed by Avaje Inject. + +## Building and Running + +The project uses Gradle. + +* **Build:** `./gradlew build` +* **Run:** `./gradlew run` (Assumes an application task is defined) +* **Test:** `./gradlew test` + +## Development Conventions + +* **Language:** Java +* **Dependency Injection:** Uses `avaje-inject`. Components are marked with `@Component` and injected via constructor. +* **Boilerplate:** Uses `lombok` for boilerplate reduction. +* **Rendering:** Built on LibGDX. Main entry point is `DiceOS.java` which extends `ApplicationAdapter`. +* **Project Structure:** + * `src/main/java/be/seeseemelk/diceos/system`: Core OS services (Display, Window, Input, etc.). + * `src/main/resources`: Assets (backgrounds, system textures, fonts).