basename on OS X seems to take multiple arguments while on Linux it ignores additional arguments. Passing -n1 to xargs solves this problem.
This completion script is similar to the completion script available on the wiki with some notable exceptions: * Updated for Chef 0.10 * No cache * Subcommand completions are not dynamically generated from the help since I want these to be fast.
This can be used to simulate the compile phase of a chef-client run and is helpful for when you need to step through a chef-client run in client mode on a node.
The ShefRawREST class can be used to create a raw_api object that behaves similarly to Shef's api object but shows the JSON actually returned by the API rather than inflating the JSON into the relevant Chef object. This is helpful for debugging problems with the API which are hidden by the inflation process.
The check bootstrap template takes a TEMPLATE_NAME and renders the bootstrap template locally allowing one to inspect it for debugging purposes.
Use FileUtils for mkdir because system("mkdir -p") isn't cross platform