Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/andyw8/awesome-sorbet

Resources and examples for Sorbet
https://github.com/andyw8/awesome-sorbet

List: awesome-sorbet

awesome awesome-list awesome-lists ruby sorbet tapioca

Last synced: about 1 month ago
JSON representation

Resources and examples for Sorbet

Awesome Lists containing this project

README

        

# awesome-sorbet
Resources and examples for Sorbet

## Tooling

* https://sorbet.org
* https://sorbet.run - Playground
* https://github.com/Shopify/tapioca
* https://github.com/Shopify/spoom
* https://github.com/Shopify/rubocop-sorbet
* https://github.com/Shopify/rbi-central
* https://github.com/kddnewton/sorbet-eraser - Erase all traces of sorbet-runtime code
* https://github.com/dduugg/yard-sorbet
* https://github.com/thatch-health/sorbet_operation
* https://github.com/AaronC81/parlour
* https://github.com/AaronC81/sord - Convert YARD docs to Sorbet RBI and Ruby 3/Steep RBS files
* ~https://github.com/chanzuckerberg/sorbet-rails~ (archived)
* https://github.com/coinbase/protoc-gen-rbi - Protobuf compiler plugin that generates Sorbet .rbi "Ruby Interface" files.

## Courses

* [Practical Sorbet: Improving Your Ruby with Type-safety](https://www.udemy.com/course/practical-sorbet/)
* [Learn Sorbet in Y minutes](https://jdkaplan.dev/blog/learn-sorbet-in-y-minutes/) (2020)

## Blog Posts

* [Two insights from using Sorbet](https://allaboutcoding.ghinda.com/two-insights-from-using-sorbet) - Lucian Ghinda (2023-02-09)
* [Experiment: Fully adding Sorbet and RBS to a small project](https://radanskoric.com/experiments/experiment-gradual-typing) - Radan Skorić (2023-10-30)
* [Adding Sorbet to a Rails project](https://nithinbekal.com/posts/sorbet-rails/) - Nithin Bekal
* [Adopting Sorbet at Scale](https://shopify.engineering/adopting-sorbet) - Alexandre Terrasa (Shopify)
* [Static Typing for Ruby](https://shopify.engineering/static-typing-ruby) - Alexandre Terrasa (Shopify)
* [Jake Zimmerman](https://blog.jez.io/categories/#sorbet) (many posts about Sorbet)
* [The State of Ruby Static Typing at Shopify](https://shopify.engineering/the-state-of-ruby-static-typing-at-shopify)
* [Sorbet As Your Ruby Mentor](https://railsatscale.com/2023-01-04-sorbet-your-ruby-mentor/) - Andy Waite
* [Sorbet Journey](https://dunae.ca/2020/12/01/sorbet-journey-types-motivation.html) (4 part series)

## Podcasts Episodes

* [Remote Ruby: Rails 7, Railties, and Sorbet at Shopify with Rafael França from Rails Core
](https://remoteruby.com/157)
* [Ruby Rogues: Using Typing Systems in Ruby with Sorbet ft. Alex Dunae](https://topenddevs.com/podcasts/ruby-rogues/episodes/using-typing-systems-in-ruby-with-sorbet-ft-alex-dunae-ruby-512)
* [Shipit! Presents: The State of Ruby Static Typing at Shopify with Ufuk Kayserilioglu and Alexandre Terrasa](https://www.youtube.com/watch?v=DA9gPuBkhFk)
* [The Changelog: Types will win in the end](https://changelog.com/podcast/548) with Jake Zimmerman

## Talks

* [RubyKaigi 2023 - Gradual typing for Ruby: comparing RBS and RBI/Sorbet by Alexandre Terrasa](https://www.youtube.com/watch?v=GOC4BRJ-OPY)
* [RubyKaigi 2023 - Generating RBIs for dynamic mixins with Sorbet and Tapioca by Emily Samp](https://www.youtube.com/watch?v=UpbVZ4Gqk3c)
* [RubyConf 2021 - Sorbet at Grailed: Typing a Large Rails Codebase to Ship with Confidence by Jose Rosello](https://www.youtube.com/watch?v=oI4dEMmsTEk)
* [RubyConf 2021 - Gradual Typing in Ruby - A Three Year Retrospective by Ufuk Kayserilioglu, Alexandre Terrasa](https://www.youtube.com/watch?v=a3jfpSmikdg)
* [RubyConf 2019 - Adopting Sorbet at Scale by Ufuk Kayserilioglu
](https://www.youtube.com/watch?v=v9oYeSZGkUw)
* [RubyConf 2019 - Sorbet: A type checker for Ruby 3 you can use today! by Jake Zimmerman and Dmitry Petrashko](https://www.youtube.com/watch?v=jielBIZ40mw)
* [RubyKaigi 2019 - State of Sorbet: A Type Checker for Ruby by Jake Zimmerman, Paul Tarjan](https://www.youtube.com/watch?v=odmlf_ezsBo)

## Support

* [StackOverflow: Questions tagged 'sorbet'](https://stackoverflow.com/questions/tagged/sorbet)
* [Sorbet Slack Community](https://sorbet.org/slack)

## Open Source codebases using Sorbet

* [ruby-lsp](https://github.com/Shopify/ruby-lsp)
* [ruby-lsp-rails](https://github.com/Shopify/ruby-lsp-rails)
* [ruby-lsp-rspec](https://github.com/st0012/ruby-lsp-rspec)
* [Homebrew](https://brew.sh) ([Type Checking With Sorbet](https://docs.brew.sh/Typechecking))
* https://github.com/Shopify/cli-ui
* https://github.com/Shopify/minitest-distributed
* https://github.com/Shopify/packwerk
* https://github.com/Shopify/shopify-api-ruby
* https://github.com/Vonage/vonage-ruby-sdk
* https://github.com/ignacio-chiazzo/ruby_whatsapp_sdk
* https://github.com/testdouble/mocktail
* https://github.com/LTe/acts-as-messageable
* [vglist](https://github.com/connorshea/vglist) - A video game library tracking web app built in Rails and powered by Wikidata.
* https://github.com/dependabot/dependabot-core
* https://github.com/phobos/phobos - Simplifying Kafka for Ruby apps
* https://github.com/rubyatscale/code_ownership - A gem to help engineering teams declare ownership of code (Gusto)
* https://github.com/yob/pdf-reader

## Companies using Sorbet

* Stripe
* Shopify
* FullScript
* Gusto
* [Thatch](https://thatch.ai/)
* Instacart
* GitHub ([dependabot-core](https://github.com/dependabot/dependabot-core/))
* (see the [Sorbet homepage](https://sorbet.org/) for more)
* Coinbase

## Other Lists

* https://sorbet.org/en/community