Ruby app boilerplate based on Ruby Starter Kit (Bundler, Guard, ActiveSupport Logger, Rubocop, RSpec, WebMock, Travis, CodeClimate)


7171.1.12 years ago6 years agoMinified + gzip package size for @artemv/ruby-starter-kit in KB


Ruby Starter Kit

Greenkeeper badge This is a Ruby app boilerplate with conventional code structure and basic dev env to start some console mode utility app with (Bundler, Guard, ActiveSupport Logger, Rubocop, RSpec, WebMock, Travis, CodeClimate).

Travis build status Code Climate Test Coverage semantic-release

App code structure

Place your app-specific code in app/ dir, and utility code that you'd like to extract to gems later to lib/ dir. Files in both of them are autoloaded from app.rb (via lib/environment.rb).


  • Clone the repo: git clone https://github.com/artemv/ruby-starter-kit.git my-app

1 - In your machine

If bundle install fails trying to install ffi and you're on MacOS Mojave, try this and repeat:

LDFLAGS="-L/usr/local/opt/libffi/lib" PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig" gem install ffi -v '1.11.1' --source 'https://rubygems.org/'

Alternatively if you are using Yeoman you can install it using its generator as described here.

2 - Using Docker

  • Build the Docker Compose:
    docker-compose up -d --build

If it complains like "ERROR: The Docker Engine version is less than the minimum required by Compose. Your current project requires a Docker Engine of version 1.13.0 or greater." that means you have too old version of docker server. Check it with command: docker version. Then you can upgrade it with docker-machine upgrade default.

  • Go inside the docker container:
    docker exec -it ruby-starter-kit /bin/bash

Now you can change the source files locally, and the changes will be seen inside docker container transparently - so it's rather straightforward way to set up a working dev env.


Run the app entry point script:

repo=octokit.rb bin/app.rb

Run the guard dev env tool:


It will run rubocop on start, will run rubocop inspections on changed files and will re-run all RSpecs and rubocop inspections if you hit Enter in guard window.

Run the tests:


If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.