We can now write static types in Ruby RBS, Steep Starting with Ruby 3.0, those are bundled with Ruby 💎 Can start small No impact on runtime No loss of writing comfort Product code and type definitions are separated
Most gem type definitions are missing ✓Many projects rely on third-party gems ✓About 173,000 gems registered at rubygems.org ✓In contrast, gem_rbs_collection still has only about 40 gem type definitions😢
Centralized repository for gem type definitions ”DefinitelyTyped" in TypeScript More type definitions here are expected to make it easier to implement into projects.
Notice I ’m a contributor and not the maintainer of gem_rbs_collection I'll speak based on my experience so far, but it may differ from the maintainer's intentions RBS syntax is not discussed.
Steps to contribute Finding Finding missing or incorrect type definitions Check Check for mismatch between type definition and implementation Fix Fix the appropriate rbs file Patch Open a Pull Request
Steps to contribute Finding Finding missing or incorrect type definitions Check Check for discrepancies between errors and implementation Fix Fix the appropriate rbs file Patch Open a Pull Request
Two more cases ✓Automatic and exhaustive generation ✓Add only some of them These steps are almost identical, differing only in the way the RBS is defined
" Writing high-quality type definitions are difficult. Focus on examples available through the README or docs of the gem. Focus on the APIs your app is using. https://github.com/ruby/gem_rbs_collection/blob/main/docs/CONTRIBUTING.md
" Writing high-quality type definitions are difficult. Focus on examples available through the README or docs of the gem. Focus on the APIs your app is using. https://github.com/ruby/gem_rbs_collection/blob/main/docs/CONTRIBUTING.md
FYI REMOVE manifest.yml The file manifest.yml is necessary if there are dependencies that are not described in Gemfile.lock or gemspec. If there are no dependencies, remove it before opening PR NOT ALL GEMS ARE COVERED Standard and built-in library RBS files are available in the ruby/rbs repository