|
| 1 | +# How to Contribute |
| 2 | +Cisco Network Elements support a rich set of features to make networks robust, efficient and secure. This project enables Cisco Network Elements to be managed by Puppet by defining a set of resource types and providers. This set is expected to grow with contributions from Cisco, Puppet Labs and third-party alike. Contributions to this project are welcome. To ensure code quality, contributers will be requested to follow a few guidelines. |
| 3 | + |
| 4 | +## Getting Started |
| 5 | + |
| 6 | +* Create a [GitHub account](https://github.com/signup/free) |
| 7 | +* Make sure you have a [cisco.com](http://cisco.com) account, if you need access to a Network Simulator to test your code. |
| 8 | + |
| 9 | +## Making Changes |
| 10 | + |
| 11 | +* Fork the repository |
| 12 | +* Pull a branch under the "develop" branch for your changes. |
| 13 | +* Follow all guidelines documented in [README-creating-types-providers](#README-creating-types-providers.md) |
| 14 | +* Make changes in your branch. |
| 15 | +* Testing |
| 16 | + * TBD: Add beaker test cases to validate your changes. |
| 17 | + * Run all the tests to ensure there was no collateral damage to existing code. |
| 18 | + * Check for unnecessary whitespace with `git diff --check` |
| 19 | + * Run `rubocop --lint` against all changed files. See [https://rubygems.org/gems/rubocop](https://rubygems.org/gems/rubocop) |
| 20 | + * TBD: Run [puppet-lint](https://rubygems.org/gems/puppet-lint) against changed files. |
| 21 | +* For new resources, add a 'demo' entry to examples/demo_install.rb |
| 22 | +* Ensure that your commit messages clearly describe the problem you are trying to solve and the proposed solution. |
| 23 | + |
| 24 | +## Submitting Changes |
| 25 | + |
| 26 | +* All contributions you submit to this project are voluntary and subject to the terms of the Apache 2.0 license. |
| 27 | +* Submit a pull request for commit approval to the "develop" branch. |
| 28 | +* A core team consisting of Cisco and Puppet Labs employees will looks at Pull Request and provide feedback. |
| 29 | +* After feedback has been given we expect responses within two weeks. After two weeks we may close the pull request if it isn't showing any activity. |
| 30 | + |
| 31 | +# Additional Resources |
| 32 | + |
| 33 | +* [General GitHub documentation](http://help.github.com/) |
| 34 | +* [GitHub pull request documentation](http://help.github.com/send-pull-requests/) |
| 35 | +* \#puppet-dev IRC channel on freenode.org ([Archive](https://botbot.me/freenode/puppet-dev/)) |
| 36 | +* [puppet-dev mailing list](https://groups.google.com/forum/#!forum/puppet-dev) |
0 commit comments