Testing
Run these commands from the repository root. Start with tests relevant to your change, then complete the checks before committing.
Rust
cargo fmt --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo check --workspace
cargo test -p rgsm-core --lib
Configuration upgrades and cloud sync also have integration tests:
cargo test -p rgsm-core --test config_upgrade_compatibility
cargo test -p rgsm-core --test cloud_sync_v2_fs
Frontend
pnpm web:format
pnpm web:lint
pnpm web:typecheck
pnpm web:test
Run pnpm web:format:fix to fix formatting, then review the diff.
End-to-end tests
Install Chromium before the first run:
pnpm --dir apps/rgsm-gui exec playwright install chromium
pnpm web:e2e local-main-path.spec.ts
Tests use the real Rust HTTP Host, temporary saves, and local Fs cloud storage. Free port 5173 before starting.
pnpm web:e2e runs the full browser suite; pnpm web:e2e:desktop runs desktop scenarios. See the E2E notes for platform dependencies and scenarios.
Documentation
pnpm docs:build
The build checks documentation links. Check CI results on your PR after pushing.