Contributing
Thanks for helping. Sealmesh is small on purpose; a change that keeps it small is the easiest one to merge.
- Questions: Discussions.
- Bugs and ideas: open an issue. Check Status & limitations first.
- Security problems: never in public. See Security.
Everyone taking part follows the Code of Conduct.
Before your first pull request
Sign the CLA. The CLA check asks on your first pull request. You sign once, with a comment, and it covers every later contribution. It lets the project offer Sealmesh under other terms as well as AGPL-3.0, which is how it can stay open source and still pay for itself.
Develop
git clone https://github.com/SealMesh/sealmesh.git
cd sealmesh
cargo fmt --all --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace --all-targets
cargo deny check advisories bans licenses sources
Rust 1.95 is pinned by rust-toolchain.toml.
How a change lands
- Fork, and branch from
main. - Use conventional commit messages,
type(scope): imperative message, for examplefix(router): refuse a join for an unmapped repo. - Open a pull request against
mainsaying what changed in behavior and how you checked it. - If it touches routes, auth, the wire format, the collector, a subprocess, a file read or a dependency, run the security-rules checklist.
CI runs formatting, clippy, the test suite, a secret scan, cargo deny, CodeQL, and a check that every GitHub Action is pinned to a commit SHA.