Browse files

Add initial CONTRIBUTING document

  • Loading branch information...
1 parent c4e618e commit edfc090ddb977752557febb1c99981a4efb612da @Lokaltog Lokaltog committed Mar 15, 2013
Showing with 77 additions and 0 deletions.
  1. +77 −0 CONTRIBUTING.rst
@@ -0,0 +1,77 @@
+How to contribute
+So you want to contribute to the Powerline project? Awesome! This document
+describes the guidelines you should follow when making contributions to the
+**Please note that these guidelines aren't mandatory in any way, but your
+pull request will be merged a lot faster if you follow them.**
+Getting started
+* Make sure you have a `GitHub account <>`_.
+* Submit an `issue on GitHub
+ <>`_, assuming one does not
+ already exist.
+ * Clearly describe the issue.
+ * If the issue is a bug: Make sure you include steps to reproduce, and
+ include the earliest revision that you know has the issue.
+* Fork the repository on GitHub.
+Making changes
+* Create a topic branch from where you want to base your work.
+ * Powerline uses the `Git Flow
+ <>`_ branching
+ model.
+ * Most contributions should be based off the ``develop`` branch.
+ * Prefix your branch with ``feature/`` if you're working on a new feature.
+ * Include the issue number in your topic branch, e.g.
+ ``321-fix-some-error`` or ``feature/123-a-cool-feature``.
+* Make commits of logical units.
+* Run your code through ``flake8`` and fix any programming style errors. Use
+ common sense regarding whitespace warnings, not all warnings need to be
+ fixed.
+* Make sure your commit messages are in the `proper format
+ <>`_.
+ The summary must be no longer than 70 characters. Refer to any related
+ issues with e.g. ``Ref #123`` or ``Fixes #234`` at the bottom of the
+ commit message. Commit messages can use Markdown with the following
+ exceptions:
+ * No HTML extensions.
+ * Only indented code blocks (no ``````` blocks).
+ * Long links should be moved to the bottom if they make the text wrap or
+ extend past 72 columns.
+* Make sure you have added the necessary tests for your changes.
+* Run *all* the tests to assure nothing else was accidentally broken.
+Programming style
+* The project uses *tabs for indentation* and *spaces for alignment*, this
+ is also included in a vim modeline on top of every script file.
+* Run your code through ``flake8
+ --ignore=W191,E501,E121,E122,E123,E128,E225`` to fix any style errors. Use
+ common sense regarding whitespace warnings, not all ``flake8`` warnings
+ need to be fixed.
+* Trailing whitespace to indicate a continuing paragraph is OK in comments,
+ documentation and commit messages.
+Submitting changes
+* Push your changes to a topic branch in your fork of the repository.
+* If necessary, use ``git rebase -i <revision>`` to squash or reword commits
+ before submitting a pull request.
+* Submit a pull request to `Lokaltog's repository
+ <>`_.

0 comments on commit edfc090

Please sign in to comment.