Sorbet

Sorbet

  • Get started
  • Docs
  • Try
  • Community
  • GitHub
  • Blog

Community

Follow us on Twitter for announcements!

Ask questions

The Sorbet team monitors questions on Stack Overflow with the tag sorbet. We direct most questions here, to make the answers easier for others to discover.

Chat with us

We have a Slack community for general discussions. Topics include discussion of Sorbet internals, learning how others use Sorbet, and showing off projects built with Sorbet.

Report issues

Found a bug? We track issues on GitHub. Since we have limited time to dedicate to issue triage, you’ll be asked to articulate a specific problem or explicit steps to reproduce the bug.

Talks

The Sorbet team has given a number of talks that are available online:

  • A practical type system for Ruby at Stripe at RubyKaigi 2018
  • Gradual typing of Ruby at Scale at Strange Loop 2018
  • Sorbet: A Typechecker for Ruby at RubyConf 2018
  • State of Sorbet: A type checker for Ruby at RubyKaigi 2019
  • Gradual typing of Ruby at Scale at Curry On! 2019
  • Fast typechecking for Ruby at JVM Language Summit 2019
  • Sorbet: A type checker for Ruby 3 you can use today! at RubyConf 2019
  • Sorbet: Why and How We Built a Typechecker for Ruby at QCon 2019
  • Sorbet: A type checker for Ruby 3 you can use today! at ParisRB 2020
  • Sorbet: A type checker for Ruby 3 you can use today! at PDX.rb 2020
  • Compiling Ruby to Native Code with Sorbet and LLVM at RubyConf 2021

Projects

These are some community-maintained projects built on top of or alongside the core Sorbet tooling:

  • sorbet-typed - A central repository for sharing type definitions for Ruby gems
  • Sord - A tool to generate RBIs from YARD documentation
  • yard-sorbet - A YARD plugin to parse Sorbet signatures when generating docs
  • sorbet-progress - Measure your progress as you adopt Sorbet, stay motivated!
  • activerecord-ejection_seat - Eject from an ActiveRecord model to a Sorbet T::Struct, or buckle back in
  • sorbet-result - Introduces T::Result, T::Success and T::Failure types to facilitate Railway Oriented Programming
  • sorbet-struct-comparable - Comparable T::Struct's for the equality focused typed Ruby developer
  • Parlour - A versatile RBI generator and plugin system
  • rubocop-sorbet - A collection of Rubocop rules for Sorbet
  • pronto-sorbet - Run Sorbet as a Pronto runner
  • spoom - Useful tools for Sorbet enthusiasts
  • rubymine-sorbet-lsp - RubyMine plugin for error highlights and fixes powered by Sorbet language server

If you've built a tool you think benefits the Sorbet community, feel free to open a PR to add it to this list!

Legal

  • Trademark Policy

Get started · Docs · Try · Community · Blog · Twitter