# chefdk-julia [![Gem Version](https://badge.fury.io/rb/chefdk-julia.svg)](https://badge.fury.io/rb/chefdk-julia) [![Build Status](https://travis-ci.org/Nordstrom/chefdk-julia.svg?branch=master)](https://travis-ci.org/Nordstrom/chefdk-julia) An opinionated cookbook creator. Julia makes it easy to generate full-featured starting cookbooks, recipes, templates, etc. with testing already setup (e.g. ChefSpec). ## About Julia is a special type of Chef cookbook that is designed to generate code (cookbooks, recipes, templates, etc.). ## How is it better than the basic ChefDK generator? Generated Cookbooks will contain: 1. Rakefile with RuboCop, Foodcritic, and ChefSpec tasks. 2. RSpec spec_helper.rb file setup to disallow global monkey-patching and allow focusing single tests. 3. .rspec file which auto-requires spec_helper.rb in specs 4. .rubocop.yml file with line length set to 100. ## Prerequisites [ChefDK](https://downloads.chef.io/chef-dk/) version 0.10 or greater must already be installed. ## Installation ### Install the Gem: ```bash > chef gem install chefdk-julia ``` ### Configure Your `knife.rb`: Add these lines to your `~/.chef/config.rb` or `~/.chef/knife.rb` configuration file: ```ruby # Paste lines below into ~/.chef/config.rb or knife.rb if defined?(ChefDK::CLI) require 'chefdk/julia' chefdk.generator_cookbook ChefDK::Julia.path end ``` ## Generating a cookbook Once chefdk-julia is installed, you should be able to generate a cookbook with the `chef generate cookbook` command: ```bash > chef generate cookbook the_art_of_french_cooking ``` where '*the_art_of_french_cooking*' is the name of the cookbook you want to create. ## License chefdk-julia: A custom cookbook generator based on ChefDK's built-in generator. ### Authors Orion Ifland, Doug Ireton Copyright (c) 2015 Nordstrom, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.