Gem Gem Travis Code Climate Gemnasium

Tools for working with Component Based Rails Apps (see Includes tools for graphing both Ruby and Javascript components in an application and their relationships, as well as selectively testing components based on changes made.


Add this line to your application's Gemfile:

gem 'cobra_commander'

And then execute:

$ bundle

Or install it yourself as:

$ gem install cobra_commander


  cobra cache APP_PATH CACHE_PATH                                                # Caches a representation of the component structure of the app
  cobra changes APP_PATH [--results=RESULTS] [--branch=BRANCH] [--cache=nil]     # Prints list of changed files
  cobra dependencies_of [component] [--app=pwd] [--format=FORMAT] [--cache=nil]  # Outputs a list of components that [component] depends on within [app] context
  cobra dependents_of [component] [--app=pwd] [--format=FORMAT] [--cache=nil]    # Outputs count of components in [app] dependent on [component]
  cobra do [command] [--app=pwd] [--cache=nil]                                   # Executes the command in the context of each component in [app]
  cobra graph APP_PATH [--format=FORMAT] [--cache=nil]                           # Outputs graph
  cobra help [COMMAND]                                                           # Describe available commands or one specific command
  cobra ls [app_path] [--app=pwd] [--format=FORMAT] [--cache=nil]                # Prints tree of components for an app
  cobra version                                                                  # Prints version


After checking out the repo, run bin/setup to install dependencies. You will also need to install graphviz by running brew install graphviz. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to


Bug reports and pull requests are welcome on GitHub at This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.


The gem is available as open source under the terms of the MIT License.