README.md in klipp-0.0.1 vs README.md in klipp-0.2.0

- old
+ new

@@ -1,44 +1,31 @@ -# Klipp -## Xcode templates for the rest of us. +# Klipp [![Build Status](https://travis-ci.org/epologee/klipp.png)](https://travis-ci.org/epologee/klipp) [![Coverage Status](https://coveralls.io/repos/epologee/klipp/badge.png)](https://coveralls.io/r/epologee/klipp) +## Code templates for the rest of us. -Klipp is a command line gem for creating new (Xcode) projects from existing templates. Unlike Apple's private plist-based templating system, Klipp takes an existing Xcode project and creates a new project by copying and modifying an existing template project by your own specifications. +Klipp is a ruby gem with a command line interface for creating new programming projects from existing templates. It was originally designed to create Xcode projects. However, there are no Apple or Xcode specific features in Klipp, so you can use it for pretty much any textfile-and-directory-based template. +When compared to Xcode's plist-based templating system, Klipp takes an existing Xcode project and creates a new project by copying and modifying an existing template project by your own specifications. + ## Installation Install Klipp with RubyGems: $ gem install klipp Execute and read the usage instructions: $ klipp -## Usage +## CLI under construction ... -Klipp creates a template repository in your home directory, at ~/.klipp/templates -A template consists of a directory and an accompanying Yaml file, e.g.: +Klipp is still in the early development stage. When 0.1 ships, the CLI will feature: - TemplateA - TemplateA.yml - -Once you have templates like these present, you can prepare a new instance of that project by executing: - - $ klipp prepare TemplateA - -This will create a TemplateA.klippfile in your current directory, for you to edit with your favorite text editor. -From there, customize your project and when happy with the results, run: - - $ klipp create - -This will create a new directory called TemplateA, that contains your new project. - -## Known issues - -* Creating templates is done manually, this will be automated -* Errors while parsing the .klippfile are not yet handled gracefully -* Highline support for on-the-fly creation of new projects is not yet enabled -* The root of newly created projects carries the same name as the template, this will be adjustable. +* `klipp repo add <repo-name> [<repo-url>]` - git init [or clone] template repositories in the `~/.klipp` directory +* `klipp template spec <template-name>` - creates a new template specificiation called `<template-name>.klippspec`, for you to configure your template's properties. +* `klipp template push <repo-name>` - push a new template to one of your template repositories. +* `klipp template list [<repo-name>]` - list all available templates on your machine [per repository] +* `klipp prepare <template-name>` - prepare the creation of files from a new template, by authoring a `Klippfile` +* `klipp create [<template-name>]` - create files based on the prepared `Klippfile` [or interactively from the terminal]. ## Contributing 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`)