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 <version>] [--sha256 <sha256>]
Flags #
--version <version> #
Package version without leading v (e.g. 2026.5.18-beta.1)
--sha256 <sha256> #
Binary tarball SHA256 checksum
generate:flatpak #
Generate Flatpak manifest and metadata for a release
- Usage:
generate:flatpak [FLAGS]
Flags #
--url <url> #
Binary tarball download URL (for remote source)
--sha256 <sha256> #
Binary tarball SHA256 checksum (for remote source)
--path <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 <ids> #
Space-separated type IDs to fetch instead of the full SDE set (verification mode)
--concurrency <n> #
Number of parallel fetch workers (default 16)
--out <dir> #
Output directory (default assets/images/items)
--min-coverage <pct> #
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 <format>] [--target <target>]
Flags #
--format <format> #
Package format: dmg, app, nsis, wix, deb, appimage, pacman
--target <target> #
Rust target triple for cross-compilation
test #
Run all tests
- Usage:
test [--filter <filter>]
Flags #
--filter <filter> #
Filter tests by name
test:crap #
- Usage:
test:crap
Compute CRAP scores for all functions in the crate