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