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 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 Sass mixins
- Clearance for authentication
- Flutie for default CSS styles
- Formtastic for form markup and style
- Paperclip for file uploads
And testing gems like:
- Bourne and Mocha for stubbing and spying
- Capybara and Capybara Webkit for integration testing
- Factory Girl for test data
- RSpec for unit testing
- Shoulda Matchers for common RSpec matchers
- Timecop for testing time
Suspenders also comes with:
- Override recipient emails in staging environment.
- Rails' flashes set up and in application layout.
- A few nice time formats set up for localization.
- Heroku-recommended 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.
Use OS X GCC Installer for Snow Leopard (OS X 10.6).
Use Command Line Tools for XCode for Lion (OS X 10.7) or Mountain Lion (OS X 10.8).
We use Capybara Webkit for full-stack Javascript integration testing. It requires QT. Instructions for installing QT are 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-2013 thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.