Thank you for your interest in helping NuPIC improve and evolve. NuPIC was open-sourced by Numenta in June 2013. Numenta maintains and runs this code (with the help of the HTM community) to support ongoing research and development of HTM theory. We also create sample applications of HTM as [showcased here](http://numenta.com/applications/).

Before your [pull requests](https://help.github.com/articles/using-pull-requests) will be reviewed by our team of committers, you'll need to sign our [Contributor License](http://numenta.org/licenses/cl/). You can see the current list of [committers](http://numenta.org/committers/) and [contributors](http://numenta.org/contributors/) who've signed our CL.

Before considering contribution, we would like you to understand what NuPIC is and how it works. It would be a good idea to become familiar with [HTM Theory](https://numenta.org/htm-school/) and read some posts on [HTM Forum](https://discourse.numenta.org/).

## [NuPIC Community](https://numenta.org/community/)

Learn about the other contributors who you'll be working alongside.

### Ways to Contribute

#### Bounties

[![Bountysource](https://www.bountysource.com/badge/team?team_id=2156&style=bounties_received)](https://www.bountysource.com/teams/numenta/issues?utm_source=numenta&utm_medium=shield&utm_campaign=bounties_received)

#### File Bugs

If you found a bug, [please report it](https://github.com/numenta/nupic/issues) in as much detail as possible. Copy / paste of console text is better than screenshots of console logs.

#### Document Code

[We're missing a lot of documentation](docs/README.md).

#### Fix Issues

We tag issues with a "help wanted" label when we are looking for community contributions. [You can see all these tickets here](https://github.com/numenta/nupic/labels/status%3Ahelp%20wanted).

### Protocol and Processes

Below are some things you should familiarize yourself with before working on NuPIC.

#### [NuPIC Development Tutorial Video](https://www.youtube.com/watch?v=Yc3PKaT1knU)

> **NOTE**: This video is a bit outdated, but still useful for those getting to know the git process.

A beginner's introduction to how we use git, Github, and Travis-CI for NuPIC development.

#### [Development Process](https://discourse.numenta.org/t/development-process/2133/1)

If you have a change you want to make, a bug you'd like to fix, or a new feature to implement, start here. This document will inform you about the process of developing NuPIC.

#### [Developer Workflow](https://discourse.numenta.org/t/developer-workflow/2132/1)

Provide technical details about how code changes are vetted, tested, approved, and eventually integrated into the master branch of our repositories.

#### [Release Process](RELEASE.md)

Learn more about how NuPIC is released through the page linked above.

### Developer Resources
- [Development Tips](https://discourse.numenta.org/t/development-tips/2140)
- [Developer Workflow](https://discourse.numenta.org/t/developer-workflow/2132)
- [Documenting Code](docs/README.md)
- [External Libraries](https://discourse.numenta.org/t/external-libraries/2141)
- [Profiling and Optimization for Speed](https://discourse.numenta.org/t/optimization-profiling-speed/2142)

#### Coding Standards and Guides

- [C/C++ Coding Guide](https://numenta.github.io/nupic/guides/contributing/cpp-style-guide.html)
- [CMake Style Guide](https://discourse.numenta.org/t/cmake-style-guide/2137/1)
- [Python Style Guide](https://discourse.numenta.org/t/python-style-guide/2128/1)
- [Contribution Standards](https://discourse.numenta.org/t/contribution-standards/2130/1)
- [C++11/14 References](https://discourse.numenta.org/t/c-11-14-references/2136/1)
- [C++ Unit Tests](https://discourse.numenta.org/t/c-unit-tests/2144)

### Other References
- [Contributor Model](https://discourse.numenta.org/t/contributor-model/2131/2)
- [All NuPIC-related Repositories](https://discourse.numenta.org/t/nupic-repositories/2145)
- [Issue Tracker](https://github.com/numenta/nupic/issues?state=open)
