1# Contributing to env_logger 2 3Thanks for wanting to contribute! There are many ways to contribute and we 4appreciate any level you're willing to do. 5 6## Feature Requests 7 8Need some new functionality to help? You can let us know by opening an 9[issue][new issue]. It's helpful to look through [all issues][all issues] in 10case its already being talked about. 11 12## Bug Reports 13 14Please let us know about what problems you run into, whether in behavior or 15ergonomics of API. You can do this by opening an [issue][new issue]. It's 16helpful to look through [all issues][all issues] in case its already being 17talked about. 18 19## Pull Requests 20 21Looking for an idea? Check our [issues][issues]. If it's look more open ended, 22it is probably best to post on the issue how you are thinking of resolving the 23issue so you can get feedback early in the process. We want you to be 24successful and it can be discouraging to find out a lot of re-work is needed. 25 26Already have an idea? It might be good to first [create an issue][new issue] 27to propose it so we can make sure we are aligned and lower the risk of having 28to re-work some of it and the discouragement that goes along with that. 29 30### Process 31 32When you first post a PR, we request that the the commit history get cleaned 33up. We recommend avoiding this during the PR to make it easier to review how 34feedback was handled. Once the commit is ready, we'll ask you to clean up the 35commit history. Once you let us know this is done, we can move forward with 36merging! If you are uncomfortable with these parts of git, let us know and we 37can help. 38 39For commit messages, we use [Conventional](https://www.conventionalcommits.org) 40style. If you already wrote your commits and don't feel comfortable changing 41them, don't worry and go ahead and create your PR. We'll work with you on the 42best route forward. You can check your branch locally with 43[`committed`](https://github.com/crate-ci/committed). 44 45As a heads up, we'll be running your PR through the following gauntlet: 46- warnings turned to compile errors 47- `cargo test` 48- `rustfmt` 49- `clippy` 50- `rustdoc` 51- [`committed`](https://github.com/crate-ci/committed) 52 53## Releasing 54 55Pre-requisites 56- Running `cargo login` 57- A member of `rust-cli:Maintainers` 58- Push permission to the repo 59- [`cargo-release`](https://github.com/crate-ci/cargo-release/) 60 61When we're ready to release, a project owner should do the following 621. Update the changelog (see `cargo release changes` for ideas) 632. Determine what the next version is, according to semver 643. Run [`cargo release -x <level>`](https://github.com/crate-ci/cargo-release) 65 66[issues]: https://github.com/rust-cli/env_logger/issues 67[new issue]: https://github.com/rust-cli/env_logger/issues/new 68[all issues]: https://github.com/rust-cli/env_logger/issues?utf8=%E2%9C%93&q=is%3Aissue 69