{"id":15405677,"url":"https://github.com/zverok/whatthegem","last_synced_at":"2025-08-21T20:31:58.169Z","repository":{"id":56898134,"uuid":"181088751","full_name":"zverok/whatthegem","owner":"zverok","description":"Ruby gem information, stats and usage for your terminal","archived":false,"fork":false,"pushed_at":"2023-09-17T18:50:35.000Z","size":982,"stargazers_count":63,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-10T05:32:43.341Z","etag":null,"topics":["developer-tools","ruby","rubygems"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zverok.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-12T21:57:51.000Z","updated_at":"2024-10-16T11:18:13.000Z","dependencies_parsed_at":"2024-10-19T11:21:39.839Z","dependency_job_id":"4fad862a-4b7d-4d15-9eac-b40542e0dd9a","html_url":"https://github.com/zverok/whatthegem","commit_stats":{"total_commits":47,"total_committers":3,"mean_commits":"15.666666666666666","dds":0.04255319148936165,"last_synced_commit":"351e2b9a1c37f666681b8094d9a9c39cfc3d76c1"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zverok%2Fwhatthegem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zverok%2Fwhatthegem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zverok%2Fwhatthegem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zverok%2Fwhatthegem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zverok","download_url":"https://codeload.github.com/zverok/whatthegem/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230532443,"owners_count":18240792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["developer-tools","ruby","rubygems"],"created_at":"2024-10-01T16:18:08.235Z","updated_at":"2024-12-20T04:06:56.154Z","avatar_url":"https://github.com/zverok.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Gem Version](https://badge.fury.io/rb/whatthegem.svg)](http://badge.fury.io/rb/whatthegem)\n\n`whatthegem` is a small utility to answer some questions about Ruby gems you work with or planning to work with.\n\nIt tries to answer—**right in your terminal**—questions like the following:\n\n* Colleague added `gemname` to our `Gemfile`, what is it?\n* How outdated is my favorite `gemname` I am using locally, what's changed since then?\n* What's that benchmarking `gemname`'s synopsis was, again?\n* There is `gemname` advised on the internetz for my problem, is it still maintained? Is it widely used?\n\nThere are a lot of ways to answer those questions through Google and various sites, but if you are in a terminal currently, `whatthegem` is fastest, most focused and convenient.\n\nShowcase:\n\n`gem install whatthegem`\n\n## `whatthegem \u003cgem\u003e info`\n\n![](https://github.com/zverok/whatthegem/blob/master/screenshots/info.png?raw=true)\n\nJust extracts gem's description and version from RubyGems.org and presents it to you alongside your local versions.\n\n## `whatthegem \u003cgem\u003e usage`\n\n![](https://github.com/zverok/whatthegem/blob/master/screenshots/usage.png?raw=true)\n\nTries to parse gem's GitHub README (or local README, if the gem is installed and includes it), and extract Ruby code blocks from there (except trivial, like \"Add to your `Gemfile`: `gem 'gemname'`) and prints them. Typically, it is the main/most basic usage examples.\n\n## `whatthegem \u003cgem\u003e changes`\n\n![](https://github.com/zverok/whatthegem/blob/master/screenshots/changes.png?raw=true)\n\nParses gem's GitHub `Changelog.md`/`NEWS`/`History`, or GitHub releases description, and lists versions and their changes (up to your local version, if it is older than recent one).\n\n## `whatthegem \u003cgem\u003e stats`\n\n![](https://github.com/zverok/whatthegem/blob/master/screenshots/stats.png?raw=true)\n\nSome statistics about gem's maintenance, freshness, and popularity (again, from RubyGems.org and GitHub). It doesn't _judge_, just provides helpful quick insights.\n\n\u003e Note that, for example, \"not having a new version in last year or two\" doesn't necessary means the gem is abandoned, it could be just \"complete\".\n\n_This functionality is ported from my earlier gem [any_good](https://github.com/zverok/any_good)—after its creation, I eventually understood there are several things I'd like to be able to know about the gems, and so whatthegem was born._\n\n## Limitations\n\n* As significant amount of information is taken from GitHub, `whatthegem` is less useful for gems that aren't on GitHub, or doesn't specify their repo URL in gemspec (available via RubyGems.org API); integrating of other source hosting is possible, but currently, in my experience, it seems like \\~99% of gems are there;\n* Also, GitHub usage/changes extraction for gems that aren't in the root of the repo (like [ActiveRecord](https://github.com/rails/rails/tree/v5.2.3/activerecord)) aren't supported yet;\n* As `usage` and `changes` are extracted by heuristics, it doesn't always work well (though it **does** in a surprisingly large number of cases);\n  * For example, `usage` is typically informative for stand-alone libraries, but hardly so for Rails plugins (which have instructions like \"run this generator, add that to config, insert this line in the model\" in their README)\n  * For other, not all gems have their Changelog findable, or parseable.\n\n## Author\n\n[@zverok](https://zverok.github.io)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzverok%2Fwhatthegem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzverok%2Fwhatthegem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzverok%2Fwhatthegem/lists"}