# Development Tasks This project uses [mise] to manage development tools and run common tasks. Mise ensures everyone uses the same tool versions and provides convenient commands for formatting and linting. If you prefer not to use mise, all tasks have equivalent shell scripts in the `scripts/` directory. ## Available Tasks ## `audit` - **Usage**: `audit` Audit dependencies ## `build` - **Usage**: `build` Build the project ## `check` - **Usage**: `check` Check for compilation errors ## `ci:r2` - **Usage**: `ci:r2` Thin rclone wrapper over the pod-ci-cache R2 bucket (S3 API): get|put|sync|exists|list|delete ## `ci:r2-prune` - **Usage**: `ci:r2-prune` Prune the R2 cache: keep the newest rust-cache object per (namespace, os, rustc, part) group and the newest 3 icon archives ## `ci:rust-cache` - **Usage**: `ci:rust-cache` Restore or save the Rust build cache (cargo home + target) in R2, keyed on OS + rustc + Cargo.lock ## `dev:seed` - **Usage**: `dev:seed` Seed the local dev database with fake data for screenshots/demos ## `dev:start` - **Usage**: `dev:start` Start the application ## `format` - Depends: format:** - **Usage**: `format` Format all files ## `format:markdown` - **Usage**: `format:markdown` Format all markdown files ## `format:rust` - **Usage**: `format:rust` Format rust files ## `format:shell` - **Usage**: `format:shell` Format shell files ## `format:toml` - **Usage**: `format:toml` Format toml files ## `format:yaml` - **Usage**: `format:yaml` Format yaml files ## `generate:aur` Generate AUR PKGBUILD for a release - **Usage**: `generate:aur [--version ] [--sha256 ]` ### Flags #### `--version ` Package version without leading v (e.g. 2026.5.18-beta.1) #### `--sha256 ` Binary tarball SHA256 checksum ## `generate:flatpak` Generate Flatpak manifest and metadata for a release - **Usage**: `generate:flatpak [FLAGS]` ### Flags #### `--url ` Binary tarball download URL (for remote source) #### `--sha256 ` Binary tarball SHA256 checksum (for remote source) #### `--path ` Local binary tarball path relative to flatpak/ dir (for CI builds) ## `generate:item-images` Fetch 64px icons for all published item types into the committed asset set - **Usage**: `generate:item-images [FLAGS]` ### Flags #### `--ids ` Space-separated type IDs to fetch instead of the full SDE set (verification mode) #### `--concurrency ` Number of parallel fetch workers (default 16) #### `--out ` Output directory (default assets/images/items) #### `--min-coverage ` Minimum percent of published types that must resolve before a full-SDE run is a success (default 95) ## `generate:item-images-cache` - **Usage**: `generate:item-images-cache` Restore the item-icon set from its R2 archive keyed on the SDE build id, or generate it and upload a fresh archive ## `lint` - Depends: lint:** - **Usage**: `lint` Lint all files ## `lint:editorconfig` - **Usage**: `lint:editorconfig` Lint files with editorconfig-checker ## `lint:github-actions` - **Usage**: `lint:github-actions` Lint all github action files ## `lint:i18n` - **Usage**: `lint:i18n` Check i18n locale parity (missing/orphan/placeholder drift across the nine locales) ## `lint:markdown` - **Usage**: `lint:markdown` Lint all markdown files ## `lint:rust` - **Usage**: `lint:rust` Lint rust files ## `lint:shell` - **Usage**: `lint:shell` Lint all shell files ## `lint:toml` - **Usage**: `lint:toml` Lint toml files ## `lint:yaml` - **Usage**: `lint:yaml` Lint all yaml files ## `package` Package the app for distribution - **Usage**: `package [--format ] [--target ]` ### Flags #### `--format ` Package format: dmg, app, nsis, wix, deb, appimage, pacman #### `--target ` Rust target triple for cross-compilation ## `test` Run all tests - **Usage**: `test [--filter ]` ### Flags #### `--filter ` Filter tests by name ## `test:crap` - **Usage**: `test:crap` Compute CRAP scores for all functions in the crate [mise]: https://mise.jdx.dev/