Pronto

Code Climate Build Status Gem Version Dependency Status Inline docs

Pronto runs analysis quickly by checking only the relevant changes. Created to be used on pull requests, but also suited for other scenarios. Perfect if you want to find out quickly if branch introduces changes that conform to your styleguide, are DRY, don't introduce security holes and more.

Pronto demo

Usage

Pronto runs the checks on a diff between the current HEAD and the provided commit-ish (default is master).

GitHub Integration

You can run Pronto as a step of your CI builds and get the results as comments on GitHub commits using GithubFormatter or GithubPullRequestFormatter.

Add Pronto runners you want to use to your Gemfile:

gem 'pronto'
gem 'pronto-rubocop', require: false
gem 'pronto-scss', require: false

or gemspec file:

s.add_development_dependency 'pronto'
s.add_development_dependency 'pronto-rubocop'
s.add_development_dependency 'pronto-scss'

Set the GITHUB_ACCESS_TOKEN environment variable to OAuth token that has access to the repository.

Then just run it:

GITHUB_ACCESS_TOKEN=token pronto run -f github -c origin/master

or, if you want comments to appear on pull request diff, instead of commit:

GITHUB_ACCESS_TOKEN=token PULL_REQUEST_ID=id pronto run -f github_pr -c origin/master

As an alternative, you can also set up a rake task:

Pronto.gem_names.each { |gem_name| require "pronto/#{gem_name}" }

formatter = Pronto::Formatter::GithubFormatter.new # or GithubPullRequestFormatter
Pronto.run('origin/master', '.', formatter)

Local Changes

You can run Pronto locally. First, install Pronto and the runners you want to use:

gem install pronto
gem install pronto-rubocop

Then navigate to the repository you want to run Pronto on, and:

git checkout feature/branch
pronto run # Pronto runs against master by default

Just run pronto without any arguments to see what Pronto is capable off.

Runners

Pronto can run various tools and libraries, as long as there's a runner for it. Currently available: