# Contribution Guide
-TODO
+
+## Guidelines
+
+* Don't push directly to the `master` branch.
+* Create a new branch from `master` for new features. For best pratice, prefix it with the name of your service, e.g. `twitter-fix-something`.
+* Use Merge Requests (MRs) instead of directly pushing to master.
+* Don't accept your own MRs, unless they are actually minor, like changing a `README` file. Otherwise ask someone else to test it.
+
+
+## Don't do this
+
+* Force pushing to remote branches, especially master. It's usually uncessary, just fix your own feature branch.
+* Rebasing or resetting remote branches. Doing it locally is fine. If you want to undo an already pushed commit, push a revert commit.
+* Squashing commits. I'm personally fine with it, but I think someone was against it? Not sure if it was a tutor, or not.