Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Ruby
  3. gemdiff

gemdiff

MITRuby

A CLI tool to find Ruby gem source repositories on GitHub, compare versions, and update outdated gems with integrated git workflow.

GitHubGitHub
125 stars6 forks0 contributors

What is gemdiff?

gemdiff is a command-line tool that helps Ruby developers find the source repositories for their gems on GitHub, compare changes between versions, and update outdated gems with an integrated git workflow. It solves the problem of blindly updating dependencies by providing visibility into what has changed between gem versions.

Target Audience

Ruby developers using Bundler and RubyGems who want to review source code changes before updating gem dependencies in their projects.

Value Proposition

Developers choose gemdiff because it automates the tedious process of finding gem repositories and constructing compare URLs, integrates seamlessly with Bundler and git, and promotes safer, more informed dependency updates.

Overview

Find source repositories for ruby gems. Open, compare, and update outdated gem versions

Use Cases

Best For

  • Reviewing changes between gem versions before updating in a Ruby project
  • Automating the discovery of GitHub source repositories for Ruby gems
  • Streamlining the gem update process with git commit integration
  • Managing outdated gems in a Bundler-managed Ruby application
  • Quickly opening GitHub compare views for specific gem version diffs
  • Developing Ruby gems and needing to quickly open their own repository pages

Not Ideal For

  • Projects relying on gems hosted outside GitHub, such as GitLab or private repositories
  • Gems that do not tag releases or use non-standard version tagging formats (e.g., '1.2.3' instead of 'v1.2.3')
  • Teams preferring graphical user interfaces or integrated IDE tools over command-line workflows
  • Ruby projects not using Bundler for dependency management

Pros & Cons

Pros

Automated Repository Discovery

Finds GitHub source URLs by inspecting gemspecs or searching the GitHub API, saving manual lookup time, as demonstrated in the repo finder implementation.

Seamless Bundle Integration

Integrates with Bundler to list outdated gems and provide direct compare URLs, running `bundle outdated --strict` and outputting results with links.

Git Workflow Automation

The update command bundles gem updates, shows git diff previews, and commits with messages including diff URLs, streamlining the update process as shown in the examples.

Interactive Review Mode

Offers an interactive mode (`gemdiff each`) to review each outdated gem step-by-step, with options to open compare views or skip, enhancing control over updates.

Cons

GitHub-Only Support

Only works with GitHub-hosted gems; the README admits it could support other hosts but doesn't, requiring pull requests for extensions.

Dependency on Standard Tagging

Requires gems to have version tags in a standard format (e.g., v1.2.3) on GitHub; non-standard tags break compare functionality, as noted in the limitations.

External API Reliance

Depends on the GitHub API which has rate limits; users must set up a personal access token via environment variables to avoid errors, adding setup complexity.

Frequently Asked Questions

Quick Stats

Stars125
Forks6
Contributors0
Open Issues0
Last commit1 year ago
CreatedSince 2014

Tags

#rubygems#github-integration#bundler#version-comparison#cli-tool#dependency-management#git-workflow#gem-management#ruby#github

Built With

R
Ruby

Included in

Ruby14.1k
Auto-fetched 8 hours ago

Related Projects

DiffyDiffy

Easy Diffing in Ruby

Stars1,306
Forks105
Last commit1 year ago
JsonCompareJsonCompare

Returns the difference between two JSON files.

Stars59
Forks30
Last commit8 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub