When you generate all binstubs for a bundle:
bundle install --binstubs
./bin directory will get populated with binstubs for every gem in the bundle that has executables. However, you won't need most of those binstubs since developers generally just use a few like
rspec and similar.
--binstubs option is sticky, meaning Bundler will keep adding binstubs for new gems in the future when you run just
bundle install. This can get tiresome if you checked the
./bin directory in version control (which you should), because git will keep displaying new untracked binstubs—most of which you probably won't care about—and you'll be forced to either gitignore them or add them to version control as well.
A much more thoughtful and controlled approach is to generate only the binstubs that you actually need:
bundle binstubs rake bundle binstubs rspec-core bundle binstubs cucumber
Now check these files in version control once and you don't have to worry about babysitting the
./bin directory in the future.
See Understanding binstubs for a broad overview of the purpose of RubyGems, rbenv and Bundler binstubs, and how you can use them to avoid having to prefix everything with