Skip to content

Commit

Permalink
More contributing documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
krak3n committed Aug 1, 2013
1 parent 2a023bc commit 09cce24
Showing 1 changed file with 71 additions and 8 deletions.
79 changes: 71 additions & 8 deletions docs/developing.rst
Original file line number Diff line number Diff line change
@@ -1,15 +1,73 @@
Developing / Contributing
=========================
Contributing
============

Fancy helping out? Fork, commit, issue pull request :) Also please write some tests to prove your new bit of code works.
Fancy helping out? Fork, commit, issue pull request :)

This project uses git flow, if you are not familiar please see `Git Flow`_. Under Git Flow master is the most stable branch, develop is where active development occurs so please contribute using the **develop** branch.
I can't guarantee I will accept your pull request but here some things to to
help:

* Ensure your code is to PEP8 standards
* Your pull requests adds a useful feature or fixes a bug
* Your code has unittests to ensure it works as it should
* Your code is documented so documentation can be auto generated us sphinx

I use `Git Flow`_ to develop this project, as such the branch structure is as
follows:

* Master: The current stable release, hotfixes come off this branch
* Develop: The current in development code, feature branches come off this
branch
* feature/x: Feature branches should be named ``feature/my_feature_name``

So please create new features from the **develop** branch. Pull requests onto
master directly will **not be accepted** unless it is a hotfix.

Installing the Code
-------------------

.. note::

This section assumes familiarity with python virtual environments and
pythons virtual environment wrapper.

First create a fork of ``http://github.com/krak3n/facio`` so it's in your own
github account, then clone:

.. code-block:: none
$ git clone [email protected]:you/facio.git
Once cloned switch to the develop branchL

.. code-block:: none
$ git fetch --all
$ git checkout develop
Create a python virtual environment:

.. code-block:: none
$ virtualenv facio --no-site-packages
$ workon facio
Now you can install the code as a development egg with the development
dependencies, this includes everything you need to run tests and debug code.

.. code-block:: none
$ make develop
Facio and it's dependencies will not be installed into your virtual
environment.

Vagrant
-------

I use `Vagrant`_ for my personal development so I have bundled it with the
repository. There are a few dependencies to how I have it setup.
I use `Vagrant`_ for my personal development so I have bundled the facio
repository with a ``Vagrantfile``.

There are the following dependencies:

* Vagrant 1.1+
* VirtualBox (what ever the latest is)
Expand All @@ -19,8 +77,13 @@ repository. There are a few dependencies to how I have it setup.
Once you have all the dependencies installed it should be a simple case of
running ``vagrant up`` at the root of the repository. Once it's finished you
should have a development environment with all of the ``facio`` dependencies
installed into python virtual environment. All you have to do is ``python
setup.py develop``.
installed into python virtual environment. All you have to do is run:

.. code-block:: none
$ make develop
On the vagrant box.

.. _Git Flow: https://github.com/nvie/gitflow
.. _Vagrant: http://www.vagrantup.com/

0 comments on commit 09cce24

Please sign in to comment.