We warmly welcome you to AgIsoStack-rs!
Contributing to our open source repository implementing the ISOBUS (ISO11783) standard in the agricultural industry can involve anything from adding new features, improving existing code, fixing bugs, or even just helping to test and document the project. We greatly appreciate any contributions you can make to help drive progress and innovation in this field. Thank you for your interest and support!
We accept all public contributions that adhere to the code of conduct defined by our sibling project AgIsoStack++. Additionally, for PR's we require the pass of all automated pre-merge checks, and a manual code review by a repository maintainer to ensure that our high code quality and project standards are maintained.
-
Contributions must follow the usual
rustc
andclippy
lints, and the defaultrustfmt
settings. Exceptions to lints are allowed, but should be defined in the project'slib.rs
fileYou can check these settings with
cargo check
,cargo clippy
, andcargo fmt
-
The code should compile with no warnings in the CI pipeline using
RUSTFLAGS=-Dwarnings
-
rustdoc
documentation should compile without warnings in the CI pipeline usingRUSTDOCFLAGS=-Dwarnings
-
No code should be added under a more strict license than MIT, or which has not had conditions met to be distributed under our license
-
There must be a copyright notice in every source file
-
Contributions must pass the CI pipeline
-
Aim for ~80% code coverage on new code, but prioritize high quality tests over gaming code coverage percentages
TODO: Define a MSRV
AgIsoStack-rs is sponsored by Raven Industries inc. as an open source project under the MIT license started during an Innovation Sprint under the condition that Raven maintains copyright over the project, including future contributions. See the COPYRIGHT file for details.
In addition to the COPYRIGHT
file, every source file should include the following copyright notice
// Copyright 2023 Raven Industries, inc.