Spiceweasel generates Chef knife commands from a JSON or YAML file. It provides a condensed format to make it easier batch load Chef infrastructure. From the Mass Node Bootstrapping doc "workstation-to-node-to-server bootstrap won’t work", Spiceweasel doesn't solve this it simply scripts knife calls and uses the "parallel" command to batch them up. It does break down the steps to bootstrapping that infrastructure and provides some internal validation that nodes are not trying to use unlisted cookbooks, roles and other Chef primitives. It also provides for deletion of the listed content.
Spiceweasel development has been dormant for over 2 years, but it has an extensive test suite. It needs to be updated for Chef 12/13, updated for Ruby 2.3 and made compatible with the latest ChefDK.
Spiceweasel does not currently support "knife client" commands but this would be straightforward to add. Syntax like: