diff --git a/CONTRIBUTING.MD b/CONTRIBUTING.MD new file mode 100644 index 0000000..5432145 --- /dev/null +++ b/CONTRIBUTING.MD @@ -0,0 +1,31 @@ +# Contribution guidelines for Daisy + + +## Pull requests +All PRs should merge to `dev`. See "branching" below. + + +## Versioning +Daisy uses [semantic versioning](https://semver.org/), which looks like `maj.min.patch`. In short: + - `maj`: Incremented on large, incompatible changes + - `min`: Incremented on new features + - `patch`: Incremented on bugfixes + +Whenever one of the above fields is incremented, all sub-fields are reset to zero. When `min` is incremented, `patch` is set to zero. + + +## Branching +Daisy uses a branch model much like the one described [here](https://nvie.com/posts/a-successful-git-branching-model). + - `master`: 1 commit = 1 release. This is always a merge comit from `dev`, and is always tagged with a version. + - `dev`: main development branch. Never deleted. Most work happens here. + - `features`: temporary branches pulled from `dev` and merged to `dev` for larger features. + - Always merge with git's `--no-ff` option for a more detailed history. + + +## Releases +What to do + - Merge into `master` (`git merge --no-ff dev`) + - Tag merge commit on `master` (`git tag -a v1.0.0 -m "Version 1.0.0"`) + - `cargo publish` + - Update web demo & pull server (`make docker`) + - Update aur package \ No newline at end of file