diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..c163f75 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,43 @@ +## Commands +```bash +# Run linting with warnings treated as errors (required by CI) +cargo clippy --all-targets --all-features -- -D warnings + +# Run all tests +cargo test + +# Run the application (requires Ankama Games' Wakfu assets) +vakfu --path /path/to/Wakfu --map +``` + +## Boundaries +### Always do +- Run `cargo clippy --all-targets --all-features -- -D warnings` and `cargo test` before submitting a PR. +- Install required system dependencies (`libwayland-dev`, `pkg-config`, `libxkbcommon-dev`, `libasound2-dev`, `libudev-dev`) before building in a fresh environment. + +### Ask first +- Modifying `Cargo.toml` dependencies. + +### Never do +- Prefer third-party actions like `dtolnay/rust-toolchain` over just invoking builtin commands like `rustup toolchain install stable --profile minimal --component clippy --no-self-update` for GitHub Actions workflows. + +## Project Structure +```text +src/main.rs # Application entry point, CLI argument parsing, Bevy App setup +src/assets.rs # Asset loaders, handling Tgam (textures), Map chunks and elements, sprites +src/render.rs # MapRenderer resource, responsible for efficiently querying/rendering elements via RTree +src/camera.rs # Camera controls +src/settings.rs # Map View Settings and UI logic +``` + +## Testing +- **Framework:** `cargo test` + +## Git Workflow +Branch naming: + feat/[short-description] + fix/[short-description] + chore/[short-description] + +Commit format: [prefix]: [what changed in imperative mood] + Example: feat: add DWARF v5 support for symbols diff --git a/GEMINI.md b/GEMINI.md new file mode 120000 index 0000000..47dc3e3 --- /dev/null +++ b/GEMINI.md @@ -0,0 +1 @@ +AGENTS.md \ No newline at end of file