-
Notifications
You must be signed in to change notification settings - Fork 0
overview getting started
This page lists the local setup and validation commands used by CSV Align. The source of truth for these commands is README.md, AGENTS.md, Cargo.toml, frontend/package.json, and src-tauri/tauri.conf.json.
| Tool | Expected use |
|---|---|
| Rust 1.85+ | Root library, local Axum server, and Tauri wrapper. The crate uses edition 2024 in Cargo.toml. |
| Node.js 22+ and npm | Frontend install, tests, lint, and build from frontend/package.json. |
| Tauri CLI 2.11.3 | Desktop development and packaging, installed with cargo install tauri-cli --locked --version "2.11.3". |
| Linux desktop dependencies | WebKitGTK 4.1 and related packages for Linux Tauri builds, documented in .github/workflows/ci.yml. |
cd frontend
npm install
cd ..frontend/package-lock.json pins the frontend dependency graph. CI uses npm ci in .github/workflows/ci.yml.
cd frontend && npm run build
cd ..
cargo runcargo run starts src/main.rs on http://127.0.0.1:3001 and expects frontend/dist to already exist. src/api/app.rs resolves that directory with frontend_dist_path().
cargo install tauri-cli --locked --version "2.11.3"
cargo tauri devsrc-tauri/tauri.conf.json runs cd frontend && npm run dev before desktop dev, points the dev window to http://localhost:5173, and builds frontend assets through scripts/build_frontend_for_tauri.sh for packaged builds.
| Scope | Command |
|---|---|
| Root Rust | cargo fmt --check && cargo test && cargo clippy -- -D warnings |
| Tauri wrapper | cd src-tauri && cargo test && cargo fmt --check && cargo clippy -- -D warnings |
| Frontend | cd frontend && npm test && npm run lint && npm run build |
| Release metadata | python3 scripts/check_release_metadata.py |
CI runs these in .github/workflows/ci.yml, with path filters that skip full validation for docs-only changes. Test strategy details are in testing.
- Backend workflow changes: start with
src/backend/workflow.rs, then add or update integration tests undertests/. - Comparison semantics: start with
src/comparison/engine.rs,src/comparison/rows.rs, andsrc/comparison/value_compare.rs. - Frontend workflow changes: start with
frontend/src/hooks/useComparisonWorkflow.reducer.tsandfrontend/src/hooks/useComparisonWorkflow.ts. - Desktop command changes: update
src-tauri/src/commands.rs,src-tauri/src/main.rs, andfrontend/src/services/tauriCommands.tstogether.
See tooling for build scripts and release helpers.