summaryrefslogtreecommitdiff
path: root/HACKING.txt
diff options
context:
space:
mode:
authorBen Bangert <ben@groovie.org>2010-10-29 11:14:41 -0700
committerBen Bangert <ben@groovie.org>2010-10-29 11:14:41 -0700
commit17e70c8db9140c0b4062f46ef5eb4527d678b793 (patch)
tree38b6b8de2a57db4debec477bc4fda27db82c4c5a /HACKING.txt
parentd39e99e1f6f06a02a275a8a30f154e0f292d7dff (diff)
parent5038994ea9e053b16fca74ea8fa022871e630883 (diff)
downloadpyramid-17e70c8db9140c0b4062f46ef5eb4527d678b793.tar.gz
pyramid-17e70c8db9140c0b4062f46ef5eb4527d678b793.tar.bz2
pyramid-17e70c8db9140c0b4062f46ef5eb4527d678b793.zip
Merge branch 'master' of github.com:Pylons/pyramid
Diffstat (limited to 'HACKING.txt')
-rw-r--r--HACKING.txt50
1 files changed, 45 insertions, 5 deletions
diff --git a/HACKING.txt b/HACKING.txt
index 7de34bed6..464b653c1 100644
--- a/HACKING.txt
+++ b/HACKING.txt
@@ -1,7 +1,15 @@
-In order to add a feature to this package:
+Hacking on Pyramid
+==================
+
+Here are some guidelines about hacking on Pyramid.
+
+Adding Features
+---------------
+
+In order to add a feature to Pyramid:
- The feature must be documented in both the API and narrative
- documentation (in docs/).
+ documentation (in ``docs/``).
- The feature must work fully on the following CPython versions: 2.4,
2.5, 2.6, and 2.7 on both UNIX and Windows.
@@ -19,6 +27,38 @@ In order to add a feature to this package:
be discussed).
The above requirements are relaxed for paster template dependencies.
-If a paster template has a dependency on something that doesn't work
-on a particular platform, that caveat should be spelled out clearly in
-*its* documentation (within docs/).
+If a paster template has an install-time dependency on something that
+doesn't work on a particular platform, that caveat should be spelled
+out clearly in *its* documentation (within its ``docs/`` directory).
+
+Coding Style
+------------
+
+- PEP8 compliance. Whitespace rules are relaxed: not necessary to put
+ 2 newlines between classes. But 80-column lines, in particular, are
+ mandatory.
+
+Test Coverage
+-------------
+
+- The codebase *must* have 100% test statement coverage after each
+ commit. You can test coverage via ``python setup.py nosetests
+ --with-coverage`` (requires the ``nose`` and ``coverage`` packages).
+
+Documentation Coverage
+----------------------
+
+- If you fix a bug, and the bug requires an API or behavior
+ modification, all documentation in this package which references
+ that API or behavior must change to reflect the bug fix, ideally in
+ the same commit that fixes the bug or adds the feature.
+
+Change Log
+----------
+
+- Feature additions and bugfixes must be added to the ``CHANGES.txt``
+ file in the prevailing style. Changelog entries should be long and
+ descriptive, not cryptic. Other developers should be able to know
+ what your changelog entry means.
+
+