Thank you for your interest in contributing!
git clone https://github.com/UniverLab/cadforge.git
cd cadforge
cargo build
cargo testBranch off develop for all changes. PRs go to develop, not main.
This project uses GitHub Actions for CI (.github/workflows/ci.yml) and automated releases (.github/workflows/release.yml).
| Secret | Description | Where to get it |
|---|---|---|
CARGO_REGISTRY_TOKEN |
API token to publish crates to crates.io | crates.io/me → API Tokens → New Token |
Configure secrets at:
https://github.com/UniverLab/cadforge/settings/secrets/actions
Tip: If you use ghscaff, you can run
ghscaff applyto configure missing secrets interactively, or set the env var before running:export CARGO_REGISTRY_TOKEN=<your_token> ghscaff apply
Releases are automated via the release.yml workflow. To cut a release:
- Bump the version in
Cargo.toml - Commit:
chore: release vX.Y.Z - Tag:
git tag vX.Y.Z && git push origin vX.Y.Z
The workflow builds binaries for Linux, macOS, and Windows, publishes to crates.io, and creates a GitHub Release.
cargo fmt # format
cargo clippy -- -D warnings # lint
cargo test # testAll three must pass before merging.