Need help with onotole?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

128 Stars 8 Forks MIT License 110 Commits 0 Opened issues


Rails project generator, which will cut all starting routine in maximum flexible mode

Services available


Need anything else?

Contributors list

# 147,367
108 commits
# 249,967
1 commit

Code Climate

Onotole & Rails 5

New Rails project wizard. Onotole will help!


Read more ENG | RUS | RUS lurk


Fork from thoughtbot/suspenders( implemented function of user choice gems installation with all their settings, so you can use fully working application with everything needed installed and configured from the box. Cut

as default choice.

As default uses the latest Ruby version and Rails '~> 5.0.0'

This user gem pack is available for custom installation (you will only choose what you need) all of this will be available in the customization menu with

flag usage (no default selected gems will be installed), otherwise default gem list will be installed. Gems with
mark will be installed as addition like default, if starting
flag. You can provide automatic installation with options, like
. Default pack will not be installed with any gem option.

I begin collecting some goodies where some patches and tweaks will be placed in, for easier getting into and using it with already started projects.

At this monent, I found unworking this gems: * ActiveAdmin * WillPaginane

I hope Rails 5 support willl be added there soon, or you may easyly find monkey patches for fixes. Feel free to edit this list.

Flexible gem group

Frontend frameworks

Template engines

  • *
    slim Slim is a template language which goal to reduce the syntax to the essential parts without becoming cryptic.
  • html2slim HTML2SLIM utility, installs with slim
  • haml HTML Abstraction Markup Language - A Markup Haiku

Authenticate engines

CMS engines & DB viewers

  • rails_admin Rails engine that provides an easy-to-use interface for managing your data
  • activeadmin Rails framework for creating elegant backends for website administration.
  • typus Ruby on Rails control panel to allow trusted users edit structured content.
  • rails_db Rails Database Viewer and SQL Query Runner
ActiveAdmin plug-ins



  • ckeditor CKEditor is a WYSIWYG text editor designed to simplify web content creation.
  • tinymce-rails Integration of TinyMCE with the Rails asset pipeline

#### Memory DB * redis A Ruby client library for Redis. * redis-rails Provides a full set of stores (Cache, Session, HTTP Cache) for Ruby on Rails * redis-namespace Provides an interface to a namespaced subset of your redis keyspace (e.g., keys with a common beginning).

File storage

  • carrierwave Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks

Developer tools

  • Airbrake For exception notification
  • bundler_audit Patch-level verification for Bundler
  • *
    faker A library for generating fake data such as names, addresses, and phone numbers.
  • *
    guard Guard is a command line tool to easily handle events on file system modifications.
  • guard_rubocop Guard plugin for RuboCop
  • *
    meta_request Supporting gem for Rails Panel (Google Chrome extension for Rails development).
  • *
    rubocop A Ruby static code analyzer, based on the community Ruby style guide.
  • *
    annotate Annotate Rails classes with schema and routes info
  • *
    overcommit A fully configurable and extendable Git hook manager
  • *
    rubycritic A Ruby code quality reporter
  • railroady Model and controller UML class diagram generator. Originally based on the "railroad" plugin
  • hirb-unicode Unicode support for hirb
  • dotenv-heroku Addition for quick variables export to heroku
  • image_optim Optimize (lossless compress, optionally lossy) images (jpeg, png, gif, svg) using external utilities
  • mailcatcher Catches mail and serves it through a dream.
  • *
    rack-mini-profiler Middleware that displays speed badge for every html page. Designed to work both in production and in development.
  • flamegraph Flamegraph profiling support (awesome performance graphics)
  • stackprof A sampling call-stack profiler for ruby 2.1+
  • activerecorddoctor Active Record Doctor helps to index unindexed foreign keys
  • git_up Fetch and rebase all locally-tracked remote branches


  • activerecord_import Activerecord-import is a library for bulk inserting data using ActiveRecord.
  • *
    responders A set of responders modules to dry up your Rails 4.2+ app.
  • paper_trail Track changes to your models' data. Good for auditing or versioning.
  • validates_timeliness Date and time validation plugin for ActiveModel and Rails. Supports multiple ORMs and allows custom date/time formats.
  • font-awesome-sass Font-Awesome Sass gem for use in Ruby/Rails projects
  • cyrillizer Character conversion from latin to cyrillic and vice versa
  • fotoramajs Fotorama JS gallery for Ruby on Rails
  • rack-cors Rack Middleware for handling Cross-Origin Resource Sharing (CORS), which makes cross-origin AJAX possible.
  • newrelic_rpm for monitoring performance
  • invisible_captcha Unobtrusive and flexible spam protection for RoR apps
  • therubyracer Embed the V8 Javascript Interpreter into Ruby
  • axslx Xlsx generation with charts, images, automated column width, customizable styles and full schema validation.
  • axlsx_rails A Rails plug-in to provide templates for the axlsx gem for providing Excel files format support
  • prawn Fast, Nimble PDF Writer for Ruby
  • prawn-table Provides support for tables in Prawn
  • geocoder Complete Ruby geocoding solution.
  • Gmaps4rails Enables easy Google map + overlays creation in Ruby apps

Mandatory installation gem list you will find in

section of this readme


First install the onotole gem add this in

    group :development do
      gem 'onotole', require: false


gem install onotole

Then run:

onotole projectname [ -c ] [ * rails_genetator_flags ]

There are 2 main ways of using: 1.

onotole projectname
will generate project with default mandatory gems and default flexible gems 2.
onotole projectname -c
will generate project with mandatory gems and will provide a menu for gem selection, where you will need to choose all options.

Of course you are free to add standard

rails new
flags, inasmuch as Onotole based on standard rails generator

And command like this will add some magic

onotole app  * github organization/project * heroku true

This will provide a dialog, where you can select needed gems, also you can add it with gemname flag, after app_name, like

onotole projectname --slim
. List of gems you always can get with
onotole --gems
command. Also,
onotole --help
can be useful.

*NB: if you install custom gems, default user gem pack will not be installed.


To see the latest and greatest gems, look at Onotole' Gemfile, which will be appended to the default generated projectname/Gemfile. This gem will be installed anyway.

Mandatory gem group

And development gems like:

  • Dotenv for loading environment variables
  • Pry Rails for interactively exploring objects
  • Hirb for pretty tables view in the console
  • Awesome_print Pretty print your Ruby objects with style -- in full color and with proper indentation
  • ByeBug for interactively debugging behavior
  • Bullet for help to kill N+1 queries and unused eager loading
  • Spring for fast Rails actions via pre-loading
  • Web Console for better debugging via in-browser IRB consoles.
  • Quiet Assets for muting assets pipeline log messages
  • Better_errors Better error page for Rack apps
  • Bindingofcaller Retrieve the binding of a method's caller in MRI 1.9.2+

And testing gems like:

ENV Variables

All variables are stored in

file and calls with project name prefix. It made for avoid name space problems with placing more than 1 of Onotole created app on 1 server. Onotole prefix all
variables with
and now you will not have any problems with export variables in production. In production environment you can make
file and put all consants there. Also with this thick you can easy use ENV export tool or just put ENV variables in
without name space conflicts.

NOSQL Memory based db

Now supported only Redis db, and Onotole do not install or config Redis itself, it just setup support gems. For getting access to Redis you can use

variable, and
for namespaced access wich is provided by
gem. Feel free in changing settings in

Other goodies

Onotole also comes with:

  • The [
    ][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]
  • A [low database connection pool limit][pool]
  • [Safe binstubs][binstub]
  • [t() and l() in specs without prefixing with I18n][i18n]
  • An automatically-created
    environment variable in all environments
  • The analytics adapter [Segment]segment
  • Check existing of app DB and ask about continuation if base persisted
  • Added style flash messagaes for
  • Auto add gem
    selected for pretty view from the box
  • Added autoload js and scss from
  • Added autoload fonts from
  • Patch for no error work, if
    is not loaded. In this case
    delivery_method = :file
    . It checks on the
    rails server
  • No need to add
    in specs.
  • In
    just switch on
    to true and get your test coverage.
  • Added
    installation with
  • Moved asset gems in assets group in Gemfile
  • Disable logging and deferred garbage collecting gives up 20% test speed improvement
  • Rake task for killing PostgreSQL conventions
  • Rake task
  • Made seeds organization for easy splitting data from scratch
  • Carrierwave
    may be integrated with
    , depend on user choice
  • Ability to use
    for easy code extension
  • Custom FormBuilder initial setup


You can optionally create Heroku staging and production apps:

onotole app  * heroku true


  • Creates a staging and production Heroku app
  • Sets them as
    Git remotes
  • Configures staging with
    environment variable set to
  • Adds the Rails Stdout Logging gem to configure the app to log to standard out, which is how Heroku's logging works.
  • Creates a Heroku Pipeline for review apps

You can optionally specify alternate Heroku flags:

onotole app \
   * heroku true \
   * heroku-flags " * region eu  * addons newrelic,sendgrid,ssl"

See all possible Heroku flags:

heroku help create


This will initialize a new git repository for your Rails app. You can bypass this with the

* skip-git
onotole app  * skip-git true

GitHub auto repository create

You can optionally create a GitHub repository for the suspended Rails app. It requires that you have Hub on your system:

curl -sLo ~/bin/hub && chmod +x ~/bin/hub
onotole app  * github organization/project

This has the same effect as running:

hub create organization/project


Onotole 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
to your login file.


Onotole requires the latest version of Ruby.

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

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

rake task. Also DB existing checking in


If you want to get your gem in Onotole follow this steps

  1. Clone this repository
  2. If you need to add new question in menu add it in UserGemsMenu
  3. Add your gem with description in
  4. Add per
    hooks in
    . Use function name with this template
    is a gem name. Usually minimum is to add gem into
  5. Add after install hooks in
    . Name your function
    . Also, add it in query at
    . Other way it will not run
  6. Update README.MD
  7. Make PR

Please, do not change version or gems for default install. Appname

is preferred for develop. It already added to gitignore.

Keep in mind, that tests will need installed hub

If you find some misprints fell free to fix them.

Thank you!

Direct GitHub gem installation

Gems, which have been installed from github, with 'github:' option in

will be automatically installed with
gem install
command. It made for making available support fresh fixes. If you do not need it, use 'git:' option with full gem trace.


MIT Licence

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.