From d5eddc447686a8e73f052b670e9e98ad5c73f48b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20K=C3=B6rber?= Date: Tue, 30 Nov 2021 10:13:16 +0100 Subject: [PATCH] Add contributing guidelines --- CONTRIBUTING.md | 49 ++++++++++++++++++++++++++++++++++++++++ docs/src/SUMMARY.md | 1 + docs/src/contributing.md | 1 + 3 files changed, 51 insertions(+) create mode 100644 CONTRIBUTING.md create mode 120000 docs/src/contributing.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..c358044 --- /dev/null +++ b/CONTRIBUTING.md @@ -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! + diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md index 5dc3e45..5af1148 100644 --- a/docs/src/SUMMARY.md +++ b/docs/src/SUMMARY.md @@ -5,3 +5,4 @@ - [Repository trees](./repos.md) - [Git Worktrees](./worktrees.md) - [FAQ](./faq.md) +- [Contributing](./contributing.md) diff --git a/docs/src/contributing.md b/docs/src/contributing.md new file mode 120000 index 0000000..f939e75 --- /dev/null +++ b/docs/src/contributing.md @@ -0,0 +1 @@ +../../CONTRIBUTING.md \ No newline at end of file