ruby-resource-map
Ruby Knowledge
Authoritative resource map for Ruby development. Use these sources rather than searching broadly.
Never use these sources:
- ruby-doc.org
- apidock.com
Official Documentation
Primary source: https://docs.ruby-lang.org/en/
Other Useful Resources
- https://rubyreferences.github.io/rubychanges/ - Version-by-version changelog with examples
- https://railsatscale.com/ - Shopify engineering blog (Latest updates on Ruby and its toolings)
Core & Standard Library
| Term | Meaning |
|---|---|
| Default gem | Ships with Ruby, cannot uninstall |
| Bundled gem | Ships with Ruby, can uninstall/replace |
| Standard library | Part of Ruby itself, not a gem |
To check which gem versions ship with each Ruby release: https://stdgems.org/
Testing Frameworks
| Framework | GitHub | Documentation |
|---|---|---|
| minitest | https://github.com/minitest/minitest | https://docs.seattlerb.org/minitest/ |
| test-unit | https://github.com/test-unit/test-unit | https://test-unit.github.io/ |
Typing Ecosystem
Two type definition formats exist in Ruby:
- RBI - Sorbet's format. Uses Ruby DSL syntax (
sig { ... }) in.rband.rbifiles. - RBS - Official Ruby format (Ruby 3.0+). Dedicated syntax in
.rbsfiles or inline as comments.
Sorbet Ecosystem
Sorbet is a static and runtime type checker for Ruby, maintained by Stripe. Key companion tools:
- Tapioca - Generates RBI files for gems and DSLs (Rails, ActiveRecord, etc.)
- Spoom - Coverage analysis, strictness bumping, dead code detection, signature migration
RBS Ecosystem
- rbs - Official CLI for working with RBS files (prototype, list, methods)
- Steep - Type checker that uses RBS
RBS Inline Comments
Sorbet supports RBS-style inline type annotations using #: comment syntax. This eliminates the need for separate .rbi files or verbose sig blocks.
More from st0012/ruby-skills
ruby-version-manager
Use at session start for Ruby projects (Gemfile, .ruby-version, or .tool-versions present). Detect version manager BEFORE running ruby, bundle, gem, rake, rails, rspec, or any Ruby command.
9ruby-test-frameworks
Use when writing or running tests in a Ruby project that uses minitest or test-unit. These frameworks have deceptively similar APIs with critical naming differences that cause NoMethodError at runtime. Consult this before writing assertions, running specific tests, or using setup/teardown lifecycle methods.
2