=========== Development =========== Obtaining a source checkout =========================== Our Git repository is maintained on Github at `pyinvoke/invoke`_. Please follow their instructions for cloning (or forking, then cloning, which is best if you intend to contribute back) the repository there. Once downloaded, install the repo itself + its development dependencies by running ``pip install -r dev-requirements.txt``. Submitting bug reports or patches ================================= We follow `contribution-guide.org`_ for all of our development - please `go there`_ for details on submitting patches, which branch(es) to work out of, and so on. Our issue tracker is on `our GitHub page`_. Changelog location ================== Invoke's changelog lives in ``sites/www/changelog.rst`` and is formatted using the `Releases `_ Sphinx plugin. Running management tasks ======================== Invoke uses itself for project management and has a number of tasks you can see with ``inv --list``. Some specific tasks of note: * ``test`` and ``integration``: Runs the primary and integration test suites, respectively. (Most of the time you can ignore ``integration`` - it's mostly for use by CI systems or once-in-a-while sanity checks locally.) * ``www`` and ``docs`` (and their subtasks like ``docs.browse``): Builds the WWW site and the API docs, respectively. Another good resource is to skim our ``.travis.yml`` file for the commands it executes - if submissions don't pass all of those commands to some degree, they won't pass Travis' CI builds either! .. _go there: .. _contribution-guide.org: https://contribution-guide.org .. _our GitHub page: .. _pyinvoke/invoke: https://github.com/pyinvoke/invoke