forked from 1b-agent/fieldcraft-upstream
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
38 lines
1.9 KiB
Markdown
38 lines
1.9 KiB
Markdown
# Contributing
|
|
|
|
Thanks for helping. Read [AGENTS.md](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](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](CODE_OF_CONDUCT.md).
|