Add contributing guidelines

This commit is contained in:
2021-11-30 10:13:16 +01:00
parent d26a76d064
commit d5eddc4476
3 changed files with 51 additions and 0 deletions

49
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,49 @@
# Contributing
GRM is still in very early development. I started GRM mainly to scratch my own
itches (and am heavily dogfooding it). If you have a new use case for GRM, go
for it!
The branching strategy is a simplified
[git-flow](https://nvie.com/posts/a-successful-git-branching-model/).
* `master` is the "production" branch. Each commit is a new release.
* `develop` is the branch where new stuff is coming in.
* feature branches branch off of `develop` and merge back into it.
So to contribute, just fork the repo and create a pull request against
`develop`. If you plan bigger changes, please consider opening an issue first,
so we can discuss it.
If you want, add yourself to the `CONTRIBUTORS` file in your pull request.
## Code formatting
For Rust, just use `cargo fmt`. For Python, use
[black](https://github.com/psf/black). I'd rather not spend any effort in
configuring the formatters (not possible for black anyway).
## Tooling
GRM uses [`just`](https://github.com/casey/just) as a command runner. See
[here](https://github.com/casey/just#installation) for installation
instructions (it's most likely just a simple `cargo install just`).
## Testing
There are two distinct test suites: One for unit test (`just test-unit`) and
integration tests (`just test-integration`) that is part of the rust crate, and
a separate e2e test suite in python (`just test-e2e`).
To run all tests, run `just test`.
When contributing, consider whether it makes sense to add tests that to prevent
regressions in the future. When fixing bugs, it makes sense to add tests that
expose the wrong behaviour beforehand.
## Documentation
The documentation lives in `docs` and uses
[mdBook](https://github.com/rust-lang/mdBook). Please document new user-facing
features here!

View File

@@ -5,3 +5,4 @@
- [Repository trees](./repos.md) - [Repository trees](./repos.md)
- [Git Worktrees](./worktrees.md) - [Git Worktrees](./worktrees.md)
- [FAQ](./faq.md) - [FAQ](./faq.md)
- [Contributing](./contributing.md)

1
docs/src/contributing.md Symbolic link
View File

@@ -0,0 +1 @@
../../CONTRIBUTING.md