-
Notifications
You must be signed in to change notification settings - Fork 0
how to contribute tooling
This page maps the main repository tools to their source files and validation role. For the contributor cycle, see development workflow. For command coverage, see testing.
| Tool or command | Role |
|---|---|
cargo fmt --check |
Enforces Rust formatting for /Users/vriesd/projects/csv-align/src/ and /Users/vriesd/projects/csv-align/tests/. |
cargo test |
Runs shared library, API, workflow, packaging-script, and release-metadata integration tests. |
cargo clippy -- -D warnings |
Fails on Rust warnings in the root crate. |
(cd /Users/vriesd/projects/csv-align/src-tauri && cargo test) |
Runs desktop wrapper tests. |
(cd /Users/vriesd/projects/csv-align/src-tauri && cargo fmt --check && cargo clippy -- -D warnings) |
Enforces desktop wrapper formatting and linting. |
cargo install tauri-cli --locked --version "^2" |
Installs the Tauri CLI used for desktop builds. |
Rust manifests are /Users/vriesd/projects/csv-align/Cargo.toml and /Users/vriesd/projects/csv-align/src-tauri/Cargo.toml.
| Tool or command | Role |
|---|---|
(cd /Users/vriesd/projects/csv-align/frontend && npm install) |
Installs frontend dependencies for local work. CI uses npm ci. |
(cd /Users/vriesd/projects/csv-align/frontend && npm run dev) |
Starts the Vite dev server for frontend iteration. |
(cd /Users/vriesd/projects/csv-align/frontend && npm test) |
Runs Vitest. |
(cd /Users/vriesd/projects/csv-align/frontend && npm run lint) |
Runs oxlint with denied warnings. |
(cd /Users/vriesd/projects/csv-align/frontend && npm run build) |
Runs TypeScript and Vite production build. |
(cd /Users/vriesd/projects/csv-align/frontend && npm run preview) |
Previews a built frontend locally. |
Frontend scripts and dependencies live in /Users/vriesd/projects/csv-align/frontend/package.json.
/Users/vriesd/projects/csv-align/src-tauri/tauri.conf.json controls:
- Desktop dev startup through
beforeDevCommand. - Desktop build startup through
/Users/vriesd/projects/csv-align/scripts/build_frontend_for_tauri.sh. - Frontend dist path
/Users/vriesd/projects/csv-align/frontend/dist. - CSP and dev CSP.
- Bundle targets, identifiers, icons, Linux package files, and macOS entitlements.
/Users/vriesd/projects/csv-align/src-tauri/capabilities/default.json grants default desktop permissions, webview-window creation, and dialog open/save access.
| Script | Role |
|---|---|
/Users/vriesd/projects/csv-align/scripts/check_release_metadata.py |
Validates synchronized version metadata and optional tag/changelog matching. |
/Users/vriesd/projects/csv-align/scripts/build_frontend_for_tauri.sh |
Builds the frontend or verifies a prebuilt dist when CSV_ALIGN_USE_PREBUILT_FRONTEND=1. |
/Users/vriesd/projects/csv-align/scripts/normalize_linux_deb_desktop_id.py |
Rewrites unsigned .deb artifacts to the reverse-DNS desktop id contract before signing. |
/Users/vriesd/projects/csv-align/scripts/validate_linux_deb_metadata.py |
Validates .deb and .rpm AppStream, desktop-file, binary, and license metadata. |
/Users/vriesd/projects/csv-align/scripts/build_rpm_package.py |
Builds the project-owned canonical RPM from the Tauri release binary. |
/Users/vriesd/projects/csv-align/scripts/build_apt_repository.py |
Builds signed static APT repository metadata and the repository setup package. |
/Users/vriesd/projects/csv-align/scripts/install-apt-repo.sh |
End-user APT repository setup installer uploaded with releases. |
/Users/vriesd/projects/csv-align/.github/workflows/ci.yml uses path filters to avoid full CI on docs-only changes. It runs Rust tests, formatting, clippy, frontend tests, frontend lint, frontend build, Tauri wrapper tests, Linux package builds, package metadata validators, and Debian signing on main pushes.
/Users/vriesd/projects/csv-align/.github/workflows/release.yml runs on v* tags. It validates release metadata, waits for the matching successful CI run on main, downloads reusable Linux and frontend artifacts, verifies signatures and metadata, builds the signed APT repository, publishes Linux assets, builds macOS DMGs, and publishes the draft GitHub Release.
| File | Purpose |
|---|---|
/Users/vriesd/projects/csv-align/Cargo.toml |
Root Rust crate manifest. |
/Users/vriesd/projects/csv-align/src-tauri/Cargo.toml |
Desktop wrapper manifest. |
/Users/vriesd/projects/csv-align/frontend/package.json |
Frontend scripts and dependencies. |
/Users/vriesd/projects/csv-align/src-tauri/tauri.conf.json |
Tauri build, bundle, CSP, and package configuration. |
/Users/vriesd/projects/csv-align/.github/workflows/ci.yml |
CI pipeline. |
/Users/vriesd/projects/csv-align/.github/workflows/release.yml |
Tagged release pipeline. |