A few words on Ruby's type annotations state

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
  1. contracts.ruby

    Contracts for Ruby.

    I had written a code contracts library for Ruby about 10 years ago [1]. I stopped working on it, mainly because it only provided runtime type checking, and I wanted static type checking. Nowadays my main language is typescript. I miss ruby, but can't give up the static typing that typescript provides. I really wish Ruby had a type system with the same level of support. VSCode has phenomenal TS support, and there's a community adding types to projects [2]. This is something I'd like for Ruby also.

    > An integral part of this informality is relying on Matz’s taste and intuition for everything that affects the language’s core.

    I think a more defined process would mean a better future for Ruby and Ruby developers.

    - [1] https://github.com/egonschiele/contracts.ruby

    - [2] https://github.com/DefinitelyTyped/DefinitelyTyped

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. sorbet

    A fast, powerful type checker designed for Ruby

  4. dd-trace-rb

    Datadog's client library for Ruby

    > For myself, I'm fine with the typing being in a separate .rbs file

    We type[0] by having one separate .rbs file per .rb file. Works really well with an editor's vertical splits: type outline on one side, code on the other. That, or use something like vim-projectionist[1].

    [0]: (WIP: there's a huge codebase to type, but we're progressively getting there) https://github.com/DataDog/dd-trace-rb/tree/master/sig

    [1]: https://github.com/tpope/vim-projectionist

  5. vim-projectionist

    projectionist.vim: Granular project configuration

    > For myself, I'm fine with the typing being in a separate .rbs file

    We type[0] by having one separate .rbs file per .rb file. Works really well with an editor's vertical splits: type outline on one side, code on the other. That, or use something like vim-projectionist[1].

    [0]: (WIP: there's a huge codebase to type, but we're progressively getting there) https://github.com/DataDog/dd-trace-rb/tree/master/sig

    [1]: https://github.com/tpope/vim-projectionist

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • The end of "Useless Ruby sugar": On intuitions and evolutions

    4 projects | news.ycombinator.com | 23 Jan 2024
  • How LayerX Achieves “Painless” Governance and Security in the Cloud

    2 projects | dev.to | 10 Jul 2025
  • Building a Slack AI Chatbot to Process PDF Content with n8n

    2 projects | dev.to | 7 Jul 2025
  • Datadog vs. Splunk: Observability Tools Comparison

    1 project | dev.to | 12 Jun 2025
  • 10 Best Cloud Monitoring Tools for 2025

    2 projects | dev.to | 30 Apr 2025

Did you know that Ruby is
the 12th most popular programming language
based on number of references?