Thanks for wanting to contribute to Chef! There are many ways to get involved in various areas of the project, tools, and documentation. This document will help you get started; the links below point to how-to-contribute information for each project.
Too many to list here individually.
- You can find a list of all the Chef-maintained plugins by following this link.
- There are also several co-maintained with our partners in the Chef partners organization.
More information about contributing to the Chef Server can be found at the chef-server meta-project.
- mixlib libraries: ** shellout ** authentication ** authorization ** config ** cli ** log ** versioning
- omnibus, the full-stack package building framework
- supermarket
Many Chef projects have corresponding Omnibus project definitions. If you're interested in helping improve our packaging process, please have a look at the following repositories:
- opscode-omnibus - for packaging Chef Server
- omnibus-chef - for packaging the Chef Client
- omnibus-supermarket - for packaging the Chef Supermarket
Chef Documentation is written in reStructuredText and generated using Sphinx. Look at the chef-docs project for how to contribute.
Other major projects in the Chef ecosystem that you can contribute to but aren't maintained under the auspices of Chef Software, Inc.:
- test-kitchen
- chefspec
- foodcritic
- berkshelf
Each project has its own contributing guidelines and governance frameworks, documented on the project websites or READMEs.
- Getting the source code
- Skills you may need to work on Chef projects
- Understanding the Chef RFC process
- Understanding the Contributor License Agreement (CLA)
- The role of the Chef Governance Board and maintenance cabal
- words about the role of the project lead, lieutenants, etc. (once ratified)
- Being a good citizen in the open source community (in addition to the 'being respectful' and all that)
- The Chef Community Guidelines
- The developer mailing list
- IRC (#chef-hacking on freenode)
- Regular developer meetings
For each project, we should have:
- Skills you'll need to work on this project
- Coding style if applicable
- How to get your code reviewed
Parking lot:
- Link to examples of bugs that were triaged as "jump in/easy", with developer guidance about where the error might have been, and a history of how a fix was found, reviewed, and merged