-
Notifications
You must be signed in to change notification settings - Fork 1
how to contribute development workflow
khanhthanhdev edited this page Jun 1, 2026
·
1 revision
-
mainis the default and release branch. All PRs targetmain. - Feature branches follow the pattern
<type>/<short-description>, e.g.feat/portfolio-import,fix/windows-shell. - Keep branches short-lived. Merge or close within a few days.
-
Branch from
main. - Write code following patterns and conventions.
- Validate locally (see below).
-
Push and open a PR against
main. - CI runs automatically — the Rust CI workflow checks formatting, lint, tests, and build across Linux, macOS, and Windows.
- Review by a maintainer.
- Merge once all checks pass and feedback is addressed.
Run these before every commit. All must pass with zero warnings.
cd frontend && bun run check:ci # Biome lint + format check
cd frontend && bun run build # TypeScript type-check + production buildcargo fmt --check # Formatting (no diffs)
cargo clippy --all-targets --all-features -- -D warnings # Lint (warnings = errors)
cargo test # All tests passcd frontend && bun run check:ci && bun run build && cd .. && cargo fmt --check && cargo clippy --all-targets --all-features -- -D warnings && cargo testThe GitHub Actions workflow at .github/workflows/rust-ci.yml runs on every push and PR to main that touches source files. It executes three jobs across Linux, macOS, and Windows:
-
Check & Lint —
cargo fmt --checkandcargo clippy --all-targets --all-features -- -D warnings -
Tests —
cargo test --verbose -
Build Check — installs frontend deps with Bun, builds the frontend, then runs
cargo build --release
The release workflow at .github/workflows/release.yml triggers on version tags (v*) and produces platform installers for macOS (Apple Silicon + Intel), Linux (AppImage), and Windows (NSIS).
See Tooling for details on the build system and CI configuration.
- How to Contribute — overview and definition of done
- Testing — running and writing tests
- Tooling — build system, linters, and CI
- Patterns and Conventions — coding style