Initiate Build Status

Initiate is the base Rails application used at Infinum. It's a fork of Suspenders by Thoughtbot. Thnx Thoughtbot!

Installation

First install the initiate gem:

gem install initiate

Then run:

initiate projectname

This will create a Rails app in projectname using the latest version of Rails.

Gemfile

To see the latest and greatest gems, look at Initiate' Gemfile, which will be appended to the default generated projectname/Gemfile.

It includes application gems like:

And development gems like:

  • Dotenv for loading environment variables
  • Pry Rails for interactively exploring objects
  • ByeBug for interactively debugging behavior
  • Bundler Audit for scanning the Gemfile for insecure dependencies based on published CVEs
  • Spring for fast Rails actions via pre-loading
  • Better errors for better debugging via in-browser IRB consoles.
  • Quiet Assets for muting assets pipeline log messages

And testing gems like:

Other goodies

Initiate also comes with:

  • The [./bin/setup][setup] convention for new developer setup
  • Rails' flashes set up and in application layout
  • A few nice time formats set up for localization
  • Rack::Deflater to [compress responses with Gzip][compress]
  • [Safe binstubs][binstub]
  • [t() and l() in specs without prefixing with I18n][i18n]
  • An automatically-created SECRET_KEY_BASE environment variable in all environments

Spring

Initiate uses spring by default. It makes Rails applications load faster, but it might introduce confusing issues around stale code not being refreshed. If you think your application is running old code, run spring stop. And if you'd rather not use spring, add DISABLE_SPRING=1 to your login file.

Dependencies

Initiate requires the latest version of Ruby.

Some gems included in Initiate have native extensions. You should have GCC installed on your machine before generating an app with Initiate.

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.

Issues

If you have problems, please create a GitHub Issue.

Contributing

See CONTRIBUTING.md.

Thank you, contributors!

License

Initiate is Copyright © 2015 Infinum. It is free software, and may be redistributed under the terms specified in the LICENSE file.