I observed a significant speed-up on the second run. The first run seems
to be a lot slower though. Additional output suggests that it's now
loading the Rails environment which it doesn't do without spring.
```
time bundle exec rubocop Gemfile
0m2.496s
time rubocop Gemfile # not always right version
0m1.999s
time ./bin/rubocop Gemfile
0m7.543s
time ./bin/rubocop Gemfile
0m0.670s
```
When a gem is missing, it looks like a big ugly error. But we don't need to see this, because bundle install will run next and tell us which gems its installing.
Bundle check isn't actually necessary because bundle install will handle this, but for some reason it's 300ms slower. So I chose to keep 'check' to help keep this script nice and quick.
The log:clear task seems to take quite a bit of time. At least we can speed up a bit by only booting up Rails once.
I'm more likely to run the script if it's quick ;)
bundle install always shows a very long list of all gems. But we really only want to know about the new gems being installed. Thankfully there's an option for that.
New rails apps do not ignore the bin folder.
When running rails app:update, the bin folder also gets update.
This also allows us to use bin/rails to run rails, or bin/yarn etc.
Tip: create an alias r=./bin/rails