Skip to content

Commit

Permalink
docs: add contribution guide (#57)
Browse files Browse the repository at this point in the history
* docs: add contribution guide

* docs: link contribution guide in readme

* Apply suggestions from code review

Co-authored-by: Allan <al@ayz.ai>

* docs: remove excess msrv section

Co-authored-by: Allan <al@ayz.ai>
  • Loading branch information
sonro and Allan authored Dec 20, 2022
1 parent 423a7b0 commit dad3ab7
Show file tree
Hide file tree
Showing 2 changed files with 107 additions and 1 deletion.
99 changes: 99 additions & 0 deletions CONTIRBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# Contributing to _dotenvy_

**Thank you very much for considering to contribute to this project!**

We welcome any form of contribution, including:

- reporting or fixing bugs
- requesting or adding features
- doc changes (including spelling/grammar corrections)
- adding examples
- asking for help, sharing ideas

**Note**: Before making a large change, it is a good idea to open an issue
describing the change to solicit feedback and guidance. This will increase the
likelihood of the PR getting merged and help avoid multiple people writing the
same solution.

This guide will help you get started. Do not let this guide intimidate you. It
should be considered a map to help you navigate the process.

## Conduct

The `dotenvy` project adheres to the [Rust Code of
Conduct](https://www.rust-lang.org/policies/code-of-conduct).

## Issues

Please feel free to open new [issues](https://github.com/allan2/dotenvy/issues),
or comment on existing ones. If you would like to attempt
to implement a change, you can ask for help or guidance on solving a problem, or
just let us know you are working on it.

A maintainer will mark the issue as assigned to you to avoid other people
unknowingly working on the same thing. If you would like to work on an assigned issue that has not been updated in a while, just ask to have it reassigned to you.

This project sometimes has longer form
[discussions](https://github.com/allan2/dotenvy/discussions). Feel free to
comment on existing threads or open your own.

## Pull Requests

Pull Requests are the way concrete changes are made to the code, documentation,
and dependencies in the dotenvy repository.

Even tiny PRs, like a one character change to fix a typo in the docs, are greatly appreciated. Before making a large change, it is recommended to first open an issue describing the change as to solicit
feedback and guidance. This will increase the likelihood of the PR getting
merged.

### Tests

If you are modifying the code, make sure all tests pass. If you are adding new functionality, please add related tests.

### Discuss and update

If you receive feedback on your PR, please don't be discouraged. It's just part of the process to ensure that changes to the project are correct and necessary.

Any community member can review a PR.

#### Commit Squashing

There is no need to squash your commits manually. PRs are usually squash merged anyway.

### CI

Please ensure that your PR passes the CI checks:

- all tests pass on stable and [MSRV]
- no [clippy](https://github.com/rust-lang/rust-clippy) warnings or errors
- formatted with [Rustfmt](https://github.com/rust-lang/rustfmt)
- [Rustdoc](https://doc.rust-lang.org/rustdoc/write-documentation/linking-to-items-by-name.html)
links work

#### Add an entry to the changelog

If your contribution changes the behavior of dotenvy, please update the
[`CHANGELOG.md`](CHANGELOG.md) file and describe your changes. This makes the
release process much easier and therefore helps to get your changes into a new
dotenvy release faster.

The top of the `CHANGELOG` contains an **Unreleased** section with a few
subsections (Added, Changed, etc) Please add your entry to the subsection
that best describes your change. If a relevant subsection does not yet exist, please
create it.

Entries follow this format:

```md
### Changed

- Short description of what has been changed ([PR #123](pull.request.url)) by [username](github.profile.url)
- [**BREAKING**] Please prefix any breaking changes
```

Here, `#123` is the number of your pull request.

**NOTE**: It is a good idea to push the
changelog update to your branch after opening the PR. That way you can copy the number and link.

[MSRV]: README.md#minimum-supported-rust-version
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,15 @@ It also adds:

For a full list of changes, refer to the [changelog](./CHANGELOG.md).

## Contributing

Thank you very much for considering to contribute to this project! See
[CONTRIBUTING.md](./CONTRIBUTING.md) for details.

**Note**: Before you take the time to open a pull request, please open an issue first.

## The legend

Legend has it that the Lost Maintainer will return, merging changes from `dotenvy` into `dotenv` with such thrust that all `Cargo.toml`s will lose one keystroke. Only then shall the Rust dotenv crateverse be united in true harmony.

Until then, this repo dutifully carries on the dotenv torch. It is actively maintained. Contributions and PRs are very welcome!
Until then, this repo dutifully carries on the dotenv torch. It is actively maintained.

0 comments on commit dad3ab7

Please sign in to comment.