about summary refs log tree commit diff stats
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md39
1 files changed, 38 insertions, 1 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 91e2b55c..01c530cf 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,6 +1,38 @@
 # Contributing to Profanity
 
-`make doublecheck` will run the code formatter, spell checker and unit tests.
+## Submitting patches
+We recommend for people to always work on a dedicated git branch for each fix or feature.
+Don't work on master.
+So that they can easily pull master and rebase their work if needed.
+
+For fixing (reported) bugs we usually use `git checkout -b fix/issuenumber-somedescription`.
+When working on a new feature we usually use `git checkout -b feature/optionalissuenumber-somedescription`.
+
+However this is not a rule just a recommendation to keep an overview of things.
+If your change isn't a bugfix or new feature you can also just use any branch name.
+
+### GitHub
+We would like to encourage people to use GitHub to create pull requests.
+It makes it easy for us to review the patches, track WIP branches, organize branches with labels and milestones,
+and help others to see what's being worked on.
+
+Also see the blogpost [Contributing a Patch via GitHub](https://profanity-im.github.io/blog/post/contributing-a-patch-via-github/).
+
+### E-Mail
+In case GitHub is down or you can't use it for any other reason, you can send a patch to our [mailing list](https://lists.notraces.net/mailman/listinfo/profanity).
+
+We recommend that you follow the workflow mentioned above.
+And create your patch using the [`git-format-patch`](https://git-scm.com/docs/git-format-patch) tool: `git format-patch master --stdout > feature.patch`
+
+### Rules
+
+* When fixing a bug, describe it and how your patch fixes it.
+* When fixing a reported issue add an `Fixes https://github.com/profanity-im/profanity/issues/23` in the commit body.
+* When adding a new feature add a description of the feature and how it should be used (workflow).
+* If your patch adds a new configuration option add this to the `profrc.example` file.
+* If your patch adds a new theming option add this to the `theme_template` file.
+* Each patch or pull request should only contain related modifications.
+* Run the tests and code formatters before submitting (c.f. Chapter 'Check everything' of this README).
 
 ## Coding style
 Follow the style already present ;-)
@@ -63,3 +95,8 @@ We include a `.codespellrc` configuration file for `codespell` in the root direc
 Before committing it might make sense to run `codespell` to see if you made any typos.
 
 You can run the `make spell` command for this.
+
+### Check everything
+
+`make doublecheck` will run the code formatter, spell checker and unit tests.
+