Here's a list of gems I find useful to work with in Rails projects, utility, performance, organisation.
- gem "better_errors" - https://github.com/BetterErrors/better_errors | More useful error pages than Rails' default red ones
- gem "rubocop" - https://github.com/rubocop/rubocop | Set up code guidelines for your dev team, I recommend using whatever Standard recommends.
- gem "annotate" - https://github.com/ctran/annotate_models | Adds DB-schema comments to models. May be unnecessary on RubyMine, YMMW.
- gem "lol_dba" - https://github.com/plentz/lol_dba | Inspect the state of table indexes.
- gem "pghero" (especially with index suggestion addon) - https://github.com/ankane/pghero | when mounted, provides a dashboard of you PG database state. Stat collection provides valuable insight into which queries take up most of DB time.
- gem "simplecov" - https://github.com/simplecov-ruby/simplecov | Gather spec coverage stats locally and on CI, aim for those 90+%.
- gem "strong_migrations" - https://github.com/ankane/strong_migrations | Helps devs write non-blocking migrations, a must-have.
- gem "shoulda-matchers" - https://github.com/thoughtbot/shoulda-matchers | Provides matchers to test common Rails functionality.
- gem "packwerk" - https://github.com/Shopify/packwerk | Allows modularising Ruby code, a must-have for growing projects.
- gem "test-prof" - https://github.com/test-prof/test-prof | Toolkit for inspecting and optimising your test-suite, a must-have.
- gem "jsonb_accessor" - https://github.com/madeintandem/jsonb_accessor | Expose accessors to jsonb column fields.
- gem "json-schema" - https://github.com/voxpupuli/json-schema | Specify the structure of JSON your app interacts with. Provide straightforward docs to your API etc.
- gem "bumbler" | Inspect project boot timing, identify unnecessary requires.
- gem "bootsnap" | Caches gem load, free boot speed.