Skip to content

Instantly share code, notes, and snippets.

@juliandunn
Created October 5, 2014 19:33
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save juliandunn/38c841b7ed40050df056 to your computer and use it in GitHub Desktop.
Save juliandunn/38c841b7ed40050df056 to your computer and use it in GitHub Desktop.
Contributing to all the things Chef

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.

An Overview of the Main Projects under the Chef Umbrella

The Chef Client

The Chef Development Kit

Knife Plugins

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.

The Chef Server

More information about contributing to the Chef Server can be found at the chef-server meta-project.

Common Libraries and Tools

The Cookbook Project

Supermarket, the Chef Community Site

  • supermarket

Packaging

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:

Chef Documentation

Chef Documentation is written in reStructuredText and generated using Sphinx. Look at the chef-docs project for how to contribute.

Ecosystem Tools and Projects

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.

How-Tos

  • Getting the source code
  • Skills you may need to work on Chef projects

Practices

  • 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

Communication

  • 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
@pburkholder
Copy link

chef-vault probably merits a spot on the Ecosystm list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment