mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-27 19:17:43 +00:00
CONTRIBUTING: adjust formatting
This commit is contained in:
parent
38a47b4358
commit
2dc9dfe62f
1 changed files with 17 additions and 7 deletions
|
@ -4,9 +4,10 @@ Contributions are very welcome, and should target Rust's master branch until the
|
|||
standard libraries are stabilized. You may *claim* an item on the to-do list by
|
||||
following these steps:
|
||||
|
||||
1. Open an issue named "Implement [the utility of your choice]", e.g. "Implement ls"
|
||||
1. Open an issue named "Implement [the utility of your choice]", e.g. "Implement
|
||||
ls".
|
||||
1. State that you are working on this utility.
|
||||
1. Develop the utility
|
||||
1. Develop the utility.
|
||||
1. Add integration tests.
|
||||
1. Add the reference to your utility into Cargo.toml and Makefile.
|
||||
1. Remove utility from the to-do list in the README.
|
||||
|
@ -17,12 +18,20 @@ search the issues to make sure no one else is working on it.
|
|||
|
||||
## Best practices
|
||||
|
||||
1. Follow what GNU is doing in terms of options and behavior. It is recommended to look at the GNU Coreutils manual ([on the web](https://www.gnu.org/software/coreutils/manual/html_node/index.html), or locally using `info <utility>`). It is more in depth than the man pages and provides a good description of available features and their implementation details.
|
||||
1. If possible, look at the GNU test suite execution in the CI and make the test work if failing.
|
||||
1. Follow what GNU is doing in terms of options and behavior. It is recommended
|
||||
to look at the GNU Coreutils manual ([on the
|
||||
web](https://www.gnu.org/software/coreutils/manual/html_node/index.html), or
|
||||
locally using `info <utility>`). It is more in depth than the man pages and
|
||||
provides a good description of available features and their implementation
|
||||
details.
|
||||
1. If possible, look at the GNU test suite execution in the CI and make the test
|
||||
work if failing.
|
||||
1. Use clap for argument management.
|
||||
1. Make sure that the code coverage is covering all of the cases, including errors.
|
||||
1. Make sure that the code coverage is covering all of the cases, including
|
||||
errors.
|
||||
1. The code must be clippy-warning-free and rustfmt-compliant.
|
||||
1. Don't hesitate to move common functions into uucore if they can be reused by other binaries.
|
||||
1. Don't hesitate to move common functions into uucore if they can be reused by
|
||||
other binaries.
|
||||
1. Unsafe code should be documented with Safety comments.
|
||||
1. uutils is original code. It cannot contain code from existing GNU or Unix-like
|
||||
utilities, nor should it link to or reference GNU libraries.
|
||||
|
@ -99,7 +108,8 @@ project, a tool like `cargo-license` can be used to show their license details.
|
|||
The following types of license are acceptable:
|
||||
|
||||
* MIT License
|
||||
* Dual- or tri-license with an MIT License option ("Apache-2.0 or MIT" is a popular combination)
|
||||
* Dual- or tri-license with an MIT License option ("Apache-2.0 or MIT" is a
|
||||
popular combination)
|
||||
* "MIT equivalent" license (2-clause BSD, 3-clause BSD, ISC)
|
||||
* License less restrictive than the MIT License (CC0 1.0 Universal)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue