Coder Social home page Coder Social logo

tap_dance's Introduction

Gem Version Dependency Status Code Climate Coverage Status

Tap Dance: Homebrew meets Bundler

Homebrew rocks, but managing system level dependencies can become a pain to track across multiple machines. Bundler was designed to make explicit declaration of Ruby dependencies consistent and painless. Tap Dance aims to do the same for system binaries by alleviating such issues as:

  • "What did I brew install to make my vim plugins work?"
  • "With what extra arguments did I run my python installation?"
  • "Did I install that item in brew list for a reason I don't remember, or is it an automatically installed dependency?"
  • "Ugh, I just want to pull my latest dotfiles and have everything work."

Installation

The "best" way to install tap dance is by including it in your system-wide Gemfile (e.g. a Gemfile in your dotfiles).

Add this line to your Gemfile:

gem 'tap_dance'

And then execute:

$ bundle

If you don't version-control your dots (which you should), install it yourself as:

$ gem install tap_dance

Usage

TODO: Write usage instructions here

What's up with the name?

Because declaring system and project deps with an awesome ruby gem makes me want to dance. Although I actually prefer swing and waltz.

Features

Limit by:

  • matching computer name
  • environment variable
  • shell script
  • if installed

Groups

Credit where due!

Huge thanks to Yehuda Katz for his awesome work on Bundler. I shamelessly stole a lot of the feature ideas and Gemfile evaluation magic from it. Oh, and obviously since the gem is built around Homebrew, a big thanks to Max and the community around brew: it has redefined my machine setup workflow.

Contributing

I love contributions: give me a hand by including an in-depth description of the problem fixed or feature implemented, with usage information if applicable.

Most importantly, please include tests: if the request fixes a bug, include one or more failing tests which cover the issue. For new features, try to cover the basic functionalities, making sure the tests can pass on any properly configured OSX workstation.

Steps to contribution awesomeness:

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Although you could just make your commits on the master branch, it's easier to inspect merge histories with actual feature branches. It also makes the bounds of your contribution obvious. Did I mention it looks better in git log --oneline --graph

tap_dance's People

Contributors

nybblr avatar

Stargazers

Adhithya Rajasekaran avatar

Watchers

 avatar James Cloos avatar  avatar

Forkers

radishmouse

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.