Suspenders is the base Rails application used at thoughtbot.
First install the suspenders gem:
gem install suspenders
Then run:
suspenders projectname
This will create a Rails 3.2 app in projectname. This script creates a new
new git repository. It is not meant to be used against an existing repo.
To see the latest and greatest gems, look at Suspenders' template/Gemfile_additions, which will be appended to the default generated projectname/Gemfile.
It includes application gems like:
- Airbrake for exception notification
- Bourbon for classy sass mixins
- Clearance for authentication
- Flutie for default CSS styles
- Formtastic for better forms
- Paperclip for file uploads
And testing gems like:
- Bourne and Mocha for stubbing and spying
- Cucumber, Capybara, and Capybara Webkit for integration testing, including Javascript behavior
- Factory Girl for easier creation of test data
- RSpec for awesome, readable isolation testing
- Shoulda Matchers for frequently needed Rails and RSpec matchers
- Timecop for dealing with time
Suspenders also comes with:
- Rails' flashes set up and in application layout.
- A few nice time formats.
- Heroku-compliant asset pipeline settings.
You can optionally create Heroku staging and production apps:
suspenders app --heroku true
This has the same effect as running:
heroku create app-staging --remote staging
heroku create app-production --remote production
You can optionally create a Github repository:
suspenders app --github organization/project
This has the same effect as running:
hub create organization/project
You can optionally not include Clearance:
suspenders app --clearance false
You can optionally not include Capybara Webkit (which depends on QT being installed on your machine):
suspenders app --webkit false
Some gems included in Suspenders have native extensions. You should have GCC installed on your machine before generating an app with Suspenders.
If you're running OS X, we recommend the GCC OSX installer.
We use Capybara Webkit for full-stack Javascript integration testing. It requires you have QT installed on your machine before running Suspenders.
Instructions for installing QT on most systems are available here.
PostgreSQL needs to be installed and running for the db:create rake task.
If you have problems, please create a Github issue.
Please see CONTRIBUTING.md for details.
Suspenders is maintained and funded by thoughtbot, inc
The names and logos for thoughtbot are trademarks of thoughtbot, inc.
Suspenders is Copyright © 2008-2012 thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.