GemLens
Gemlens is a CLI tool to analyze the evolution of your Gemfile
over time. It helps you track when gems were added, removed, or updated in a project β great for audits, debugging, or historical exploration.
β¨ Features
- Track changes to gems across Git commits
- View added, removed, or updated gems with commit metadata
- Colorized timeline output for clarity
- Works on any Git-tracked Ruby project
π§° Installation
Add this line to your application's Gemfile:
gem 'gemlens'
Then execute:
$ bundle install
Or install it globally:
$ gem install gemlens
π Usage
From any Git-tracked Ruby project:
$ bundle exec gemlens
Youβll get a timeline showing how your Gemfile
has changed, for example:
π Gemfile History Timeline
π© 2023-04-11 Added pry by Jane Doe β PR #1234 | Add pry for debugging
π₯ 2023-05-09 Removed byebug by Jane Doe β 4d3c1f0 | Remove unused gem
π¦ 2023-06-12 Updated rails (6.1.0 β 7.0.4) by John Smith β PR #2345 | Upgrade Rails
You can also pass a path to another repo:
$ bundle exec gemlens /path/to/another/repo
π§ Development
To set up the project locally:
$ git clone https://github.com/BestBitsLab/gemlens.git
$ cd gemlens
$ bin/setup
You can experiment with the code via:
$ bin/console
To build and install the gem locally:
$ bundle exec rake install
To release a new version:
- Update the version in
lib/gemlens/version.rb
- Run:
$ bundle exec rake release
This will tag, push, and publish to RubyGems.org.
π€ Contributing
Bug reports and pull requests are welcome on GitHub. This project is intended to be a safe, welcoming space for collaboration. Please read and follow the code of conduct.
πͺͺ License
This gem is available as open source under the terms of the MIT License.
π Code of Conduct
Everyone interacting in the Gemlens projectβs codebase, issue trackers, and other community spaces is expected to follow the Code of Conduct.