Files
OneCAD-Simulation/CONTRIBUTING.md
T
jyvikoandClaude Opus 5.5 fe7d536719 develop is the trunk; main holds released code and moves by fast-forward at a release
CI runs on merges to develop (and on fork pull requests); the release workflow builds the draft
from a push to main. AGENTS.md, CONTRIBUTING.md and docs/releasing.md follow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm
2026-10-14 08:32:27 -04:00

1.9 KiB

Contributing

Thanks for helping. Read AGENTS.md first: it holds the rules every change follows, whether a person or an agent writes it.

Before you start: claim an issue

Every change starts from an issue, and only the maintainer merges.

  1. Pick an open issue labelled help wanted or good first issue that is not labelled claimed. If what you want to do has no issue, open one first and wait for a reply.
  2. Comment that you would like to take it. The maintainer assigns it to you and labels it claimed; then it is yours. Work on unassigned issues may not be accepted.
  3. Open a draft pull request early, linked with Closes #N. An issue with no visible progress for 14 days goes back to the pool.

Issues labelled in progress are being worked on by the core team; please don't start on them.

Making the change

  1. Branch from develop (the trunk; main holds released code only) and open the pull request against develop. Keep it to one topic.
  2. Before pushing: cargo fmt --all, and cargo clippy -p <crate> --all-targets -- -D warnings and cargo test -p <crate> for the crates you touched. CI runs the full gate on your pull request once the maintainer approves the run.
  3. User-visible behaviour is a command (crates/engine/src/cmd/) with tests, including hostile parameters.
  4. Meshing and solver algorithms cite the paper they come from in the module docs.
  5. Never contribute code, text or data from GPL-family projects or commercial CAE products (see docs/adr/0001-libraries.md).

By contributing you agree your work is licensed under MIT OR Apache-2.0.

develop and main are protected: changes land on develop only through pull requests that the maintainer has reviewed, as rebase merges (keep each commit building and passing its tests). Be kind: see the code of conduct.