Code contributions must adhere to the following style guides.
You should always run the unit tests before making commits. If modifying C++ code, make sure you build the code after making the changes and run the relevant C++ tests.
Please use Pylint with the included configuration file in
$NUPIC/py/pylintrc. This will be picked up by Pylint when you run Pylint in
$NUPIC/py or any subdirectory. We do not currently have lint set up for the C++ code (feel free to add it!).
There is a githooks directory that includes pre-commit and post-merge hooks. You should symlink this directory to
$NUPIC/.git/hooks. The pre-commit will run the unit tests and check for Pylint errors. The post-merge hook will notify you if you need to rebuild based on the changes merged in.