hy/docs/hacking.rst

119 lines
2.4 KiB
ReStructuredText
Raw Normal View History

2013-04-05 22:30:12 +02:00
===============
Hacking on hy
===============
2013-10-08 04:16:31 +02:00
.. highlight:: bash
2013-04-05 22:30:12 +02:00
Join our hyve!
==============
Please come hack on hy!
Please come hang out with us on ``#hy`` on ``irc.freenode.net``!
Please talk about it on Twitter with the ``#hy`` hashtag!
Please blog about it!
2013-04-05 22:34:25 +02:00
Please don't spraypaint it on your neighbor's fence (without asking nicely)!
2013-04-05 22:30:12 +02:00
Hack!
=====
Do this:
2013-10-08 04:16:31 +02:00
1. create a `virtual environment
<https://pypi.python.org/pypi/virtualenv>`_::
$ virtualenv venv
and activate it::
$ . venv/bin/activate
or use `virtualenvwrapper <http://virtualenvwrapper.readthedocs.org/en/latest/#introduction>`_
to create and manage your virtual environment::
2013-10-10 23:17:43 +02:00
$ mkvirtualenv hy
$ workon hy
2013-10-08 04:16:31 +02:00
2. get the source code::
$ git clone https://github.com/hylang/hy.git
2013-04-05 22:30:12 +02:00
2013-10-08 04:16:31 +02:00
or use your fork::
2013-04-05 22:30:12 +02:00
2013-10-08 04:16:31 +02:00
$ git clone git@github.com:<YOUR_USERNAME>/hy.git
3. install for hacking::
2013-04-05 22:30:12 +02:00
2013-10-08 04:16:31 +02:00
$ cd hy/
$ pip install -e .
2013-04-05 22:30:12 +02:00
2013-10-08 04:16:31 +02:00
4. install other develop-y requirements::
2013-04-05 22:30:12 +02:00
$ pip install -r requirements-dev.txt
2013-10-08 04:16:31 +02:00
5. do awesome things; make someone shriek in delight/disgust at what
you have wrought.
2013-04-05 22:30:12 +02:00
Test!
=====
Tests are located in ``tests/``. We use `nose
<https://nose.readthedocs.org/en/latest/>`_.
To run the tests::
$ nosetests
Write tests---tests are good!
Also, it is good to run the tests for all the platforms supported and for pep8 compliant code.
You can do so by running tox::
$ tox
2013-04-05 22:30:12 +02:00
Document!
=========
Documentation is located in ``docs/``. We use `Sphinx
<http://sphinx-doc.org/>`_.
2013-10-08 04:16:31 +02:00
To build the docs in HTML::
2013-04-05 22:30:12 +02:00
$ cd docs
$ make html
Write docs---docs are good! Even this doc!
2013-12-01 18:56:26 +01:00
Core Development Rules
======================
2014-04-16 19:40:21 +02:00
Pull requests are good!
Before you submit a PR, please run the tests and check your code against the style guide. You can do both these things at once::
$ make d
2013-12-01 18:56:26 +01:00
All incoming changes need to be acked by 2 different members of Hylang's
core team. Additional review is clearly welcome, but we need a minimum of
2 signoffs for any change.
If a core member is sending in a PR, please find 2 core members that don't
2014-01-15 17:44:16 +01:00
include the PR submitter. The idea here is that one can work with the PR
2013-12-01 18:56:26 +01:00
author, and a second acks the entire change set.
2013-12-31 00:02:03 +01:00
If the change is adding documentation, feel free to just merge after one
ACK. We've got low coverage, so it'd be great to keep that barrier low.
Core Team
=========
Core development team of hy consists of following developers.
.. include:: coreteam.rst