README.md in bently-0.1.0 vs README.md in bently-1.0.0

- old
+ new

@@ -1,123 +1,62 @@ -Bently allows you to create executable "recipes" for file and command-line operations that you do a lot. +[<img src="https://secure.travis-ci.org/bonsaiben/bently.png">](http://travis-ci.org/bonsaiben/bently) -You can think of it as a Homebrew for Ruby gems. +Bently is a community maintained library of executable recipes for rapid application development. The bulk of recipes are for automating installation and configuration of commonly-used dependencies. Another potential use case is feature scaffolding, or laying down basic implementation for common functionality like social authentication. -I created it for quickly settings up and deploying Rails applications. +The goal of Bently is to reduce duplication in the development process across projects, with rapid prototyping in mind. -Installation -============ +Bently is Homebrew meets Rails generators. -You'll probably want to add your own custom recipes so I recommend cloning into an easy-to-find directory and build and install the gem from there. +Bently is built on top of Thor. -You can install the Gem if you'd prefer. +Installation +============ + gem install bently -Example -======= +Usage +===== -I start a new project that needs user authentication so I want to use Devise. -Looking at the Devise README on GitHub I find the necessary steps for installing and configuring Devise. + bently list # list all recipes + bently list [STRING] # search recipes matching a string + bently read [RECIPE] # display a recipe without executing it + bently bake [RECIPE] # execute all steps in recipe + bently bake [RECIPE] --step # execute a recipe step by step, prompting before each step + bently source [RECIPE] # output the URL for the document on which the recipe is based - add "gem 'devise'" to Gemfile - bundle install - rails g devise:install - rails g devise user -As a Bently recipe, this would look like: - - module Bently - class Devise < Recipe - step :append, :file => 'Gemfile', :with => "gem 'devise'" - step :shell, 'bundle install' - step :shell, 'rails g devise:install' - step :shell, 'rails g devise user' - end - end - -And executing it is as simple as: - - bently bake devise - -Or if I just want a readout without executing: - - bently read devise - -Recipes +Example ======= -A recipe defines a series of steps. There are seven kinds of steps: +Installing and configuring devise in a Rails application. -Shell + $ bently bake devise + gemfile devise + 1 + 2 gem "devise" + run bundle install from "." + run rails generate devise:install from "." + TODO rails generate devise MODEL -execute a command +The recipe for devise looks like: - step :shell, 'echo hello' - -Touch - -create a file with some content - - step :touch, :file => 'file.rb', :with => 'content' - -Modify - -change a part of a file to something else - - step :modify, :file => 'file.rb', :from => /old_text/, :to => 'new_text' - -Append - -add content to the end of a file - - step :append, :file => 'file.rb', :with => 'put this at the bottom' - -Prepend - -add content to beginning of a file - - step :prepend, :file => 'file.rb', :with => 'put this at the top' - -Insert - -add content before or after some part of a file - - step :insert, :file => 'file.rb', :with => 'insert this', :after => 'after this' - -Remove - -remove a file - - step :remove, :file => 'delete_me.txt' - - -You can also define custom steps that reduce to one of the above. - - step :add_gem, "gem 'rails'" - - def add_gem gem - append :file => 'Gemfile', :with => gem + class Devise < RailsRecipe + gem 'devise' + bundle + generate 'devise:install' + todo 'rails generate devise MODEL' end -Recipe Templates -================ -Recipe templates can be created to encapsulate steps used across multiple recipes. +Available Recipes +================= - module Bently - class RailsRecipe < Recipe - GEMFILE = 'Gemfile' - - def add_gem gem - append :file => GEMFILE, :with => gem - end - - end - end +You can browse the recipe library on GitHub: https://github.com/bonsaiben/bently/tree/master/lib/bently/recipe -To use a template, inherit from the template class instead of Recipe. - class Devise < RailsRecipe +License +------- +Released under the MIT License. See the [LICENSE][] file for further details. -Fork and accumulate your own collection of recipes. \ No newline at end of file +[license]: LICENSE