Skeletor

Skeletor is a Ruby Library for setting up quick project skeletons based on code templates. It uses YAML templates to specify a directory structure of files and folders, a list of includes to pull and any tasks to run. It also contains built in templates

Installation

gem install skeletor

Usage

Skeletor has 3 actions it can perform for you. You can also call skeletor -h|--help to list the available functions.

Build

skeletor build TEMPLATE [options]

This will build the project skeleton for you based on TEMPLATE. It takes the following options

  • -d --directory DIRECTORY Specifies the directory to build the skeleton in. If it doesn't exist Skeletor will create it for you. Defaults to the current directory.
  • -p --project PROJECT Specifies the name of the project to use in output. I also intend to add in the functionality to add include parsing so you can dynamically insert the project name. Defaults to the directory name.

Clean

skeletor clean [options]

Cleans the entire project directory. A helper method to let you start again. Useful when creating you templates. Takes the following options

  • -d --directory Specifies the directory to clean. Defaults to the current directory.

Validate

skeletor validate TEMPLATE

Validates that TEMPLATE is a valid YAML file and that it matches the expected schema (see below).

Help

skeletor -h|--help TASK

Shows help information for TASK.

Contributing to Skeletor

  • Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
  • Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
  • Fork the project
  • Start a feature/bugfix branch
  • Commit and push until you are happy with your contribution
  • Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
  • Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.

Copyright (c) 2011 OiNutter. See LICENSE.txt for further details.