An RFC to standarize on two workflows

This RFC proposes two workflows as "supported", and abstracts
as much of their differences as possible through the use of
additional generators and functionality in the 'chef' command.

If accepted, this RFC would also serve as a guide for tool makers,
as to what the requirements are for maximum converage in the Chef
community.

While other workflows are possible, this RFCs job is to say which
ones we support officially.
@jtimberman that's a great point. I think you've uncovered a bug with 'knife diff'. It should compile the Ruby artifacts in memory before performing a diff. The compiled version should be generated in a consistent way to allow for this (if it isn't already). 

Jamie Winsor
@resetexistence

> On Aug 4, 2014, at 10:46 PM, Joshua Timberman <notifications@github.com> wrote:
> 
> In great-workflow.md:
> 
> > +
> > +```
> > +$ git add snazzy
> > +$ git commit -a -m "One snazzy cookbook"
> > +```
> > +
> > +### How to create your Chef policy (everything that isn't a cookbook)
> > +
> > +To create a new type of policy document, from the top of your chef-repo:
> > +
> > +```
> > +$ chef generate THING name
> > +```
> > +_Note: None of these generators exist yet. They should subsume the functionality of the attendent knife X commands, and be intelligent about which workflow we've chosen._
> > +
> > +This will result in a blank, JSON formatted policy document created in the appropriate
> Since we're talking about workflows, a nice thing about using JSON, e.g., roles, is that the knife diff command works with JSON, but not ruby DSL. This is an essential part of our internal workflow of "make change to .json, knife diff, reconcile unrecognized differences, knife upload."
> 
> —
> Reply to this email directly or view it on GitHub.