Skip to content

BestBitsLab/gemlens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GemLens

Gem Version

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:

  1. Update the version in lib/gemlens/version.rb
  2. 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.


About

πŸ” CLI tool to analyze Gemfile history across commits

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors