YARD VS steep

Compare YARD vs steep and see what are their differences.

YARD

YARD is a Ruby Documentation tool. The Y stands for "Yay!" (by lsegal)

steep

Static type checker for Ruby (by soutaro)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
YARD steep
18 9
1,905 1,322
- -
6.5 9.5
29 days ago 10 days ago
Ruby Ruby
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

YARD

Posts with mentions or reviews of YARD. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-22.
  • What is JSDoc and why you may not need typescript for your next project?
    8 projects | dev.to | 22 Jan 2024
    JSDOC is a predefined method of documenting code for javascript ecosystem created in 1999 that works similar to libraries for other languages such as: Javadoc for java, YARD for ruby, etc..
  • Xeme: I'd value your opinion on my new Ruby gem
    5 projects | /r/ruby | 29 May 2023
    In addition to project documentation, you've included a lot of code comments. You could adopt a standardized format and use it to generate API documentation. RDoc and YARD are two options. If I were reviewing this code at work, I would probably ask you to remove comments that explain what, not why.
  • Programming types and mindsets
    4 projects | /r/ruby | 8 May 2023
    I still just document everything using YARD and focus on designing really obvious Object Models and of course write tests. I have tried using sord to convert my YARD type annotations to RBS or RBI, but you still have to fill in missing bits, then use steep and somehow load in RBS/RBI files for other gems and stdlib, and it's just an uphill battle since Ruby is dynamically typed by default. Obviously Dynamic Typing lends itself more to Dynamic Languages, where you can call an arbitrary method and let the language VM figure it out at runtime. Static or Strong Typing lends itself better to compiled languages where everything needs to be resolved at compile time and converted into object code. If I need to work in a compiled language, then I'll use Crystal, which also supports type inference. TypeScript's type syntax is quite nice, but I tend to avoid writing massive JavaScript code bases where a Type Checker helps catch subtle bugs, and instead prefer sticking to minimal amounts of vanilla JavaScriot in order to keep complexity low and not overwhelm the browser.
  • kwargs and YARD: @param or @option?
    1 project | /r/ruby | 11 Apr 2023
    I had a dig into the file history, and it looks like we have to go back to 0.7 to find the old tag list. Here we find the info we need to understand the intent of the @option tag:
  • Comparing RDoc, YARD, and SDoc: Choosing the Right Documentation Generator for Your Ruby on Rails 5 Project
    1 project | dev.to | 20 Jan 2023
    YARD: http://yardoc.org/
  • How do you document your code?
    3 projects | /r/rails | 17 Jan 2023
    I tend to follow along using the YardDoc comment style. It has many small things I love about it; an example is when yardoc is followed it can be used to generate RBS/Sorbet type files with the sord gem, you can also generate application documents similar to rdoc/sdoc.
  • The right is on the left
    3 projects | /r/technicallythetruth | 13 Jan 2023
    That turns out to be a pretty common use case for markdown. Github, for example, renders your README.md is part of a git repo's "home" page. It's also common to have tooling that parses specially formatted comments in your source code and produce a documentation bundle, usually as a web page (ex. RDoc, YARD, JSDoc, etc.).
  • #buildinpublic, issue 1: building API documentation browser for command line
    2 projects | dev.to | 15 Oct 2022
    My first assumption was, that I should be able to generate markdown from the source. Same ruby and rails does now, but only tweaking a couple of parameters to generate .md files instead. YARD is being used for that and it supports any markup rdoc or yard.
  • The Why and How of Yardoc
    6 projects | dev.to | 17 Mar 2022
    I’ve long used the YARD format and chose to use that as my documentation syntax. I suppose I didn’t check with anyone on this decision and slowly started adding documentation. I want to use this post to synthesize my implicit decision and the benefits of using Yard as the documentation format.
  • Graphic representation of class / module inheritance in Rails?
    2 projects | /r/rails | 26 Feb 2022
    That said, YARD is a ruby documentation tool that has a yard graph command you can use to dump a UML graph for your app into a .dot file, which can be used with lots of different graphing tools (usually graphviz but there are a bunch of online tools and open source projects that can visualize them for you).

steep

Posts with mentions or reviews of steep. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-21.
  • A decent VS Code and Ruby on Rails setup
    8 projects | news.ycombinator.com | 21 Feb 2024
    I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!

    You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?

    RBS: https://github.com/ruby/rbs

    RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection

    Steep: https://github.com/soutaro/steep

    VS Code: https://github.com/soutaro/steep-vscode

    Sublime Text: https://github.com/sublimelsp/LSP

    Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671

  • Bringing more sweetness to ruby with sorbet types 🍦
    5 projects | dev.to | 18 Sep 2023
    1. Lack of LSP: Since this new type check solution is quite new (at the time of writing), we don't have nice editor support via LSP. Things like steep will probably solve this in the future, but it's not a reliable solution now. On the other hand, Sorbet has existed for many years on the market and already provides a lot of tools for code intelligence, you can see more in this blog post.
  • State of the Ruby language server (LSP) ecosystem / looking for suggestions
    11 projects | /r/ruby | 2 Oct 2022
    https://github.com/soutaro/steep Also a type checker. This one uses rbs files. Not sure what subset of LSP features it supports either.
  • steep VS sorbet - a user suggested alternative
    2 projects | 17 Apr 2022
  • Open-sourcing the Sorbet VS Code Extension
    1 project | /r/ruby | 7 Jan 2022
    What type-checkers can use RBS? I find steep? Any others? Does anyone have a sense of how much use RBS is getting (and compared to Sorbet?) in the wild?
  • rbs collection was released!
    6 projects | dev.to | 17 Sep 2021
    rbs collection feature integrates this repository and tools use RBS, such as rbs command, Steep, and TypeProf.
  • Which one is a better VS Code language server for Ruby?
    6 projects | /r/ruby | 5 Apr 2021
    steep also can be run as a langserver, which is then used in the vscode plugin for type checking.
  • Static Typing in Ruby 3 Gives Me a Headache (But I Could Grow to Like It)
    3 projects | dev.to | 1 Mar 2021
    Once you have those in place, you use a tool called Steep, which is the official type checker "blessed" by the Ruby core team. Steep evaluates your code against your signature files and provides a printout of all the errors and warnings (similar to any other type checker, TypeScript and beyond).
  • 15 Resources I Learned Something From This Weekend
    5 projects | dev.to | 27 Sep 2020
    soutaro / steep

What are some alternatives?

When comparing YARD and steep you can also consider the following projects:

RDoc - RDoc produces HTML and online documentation for Ruby projects.

solargraph - A Ruby language server.

Apipie - Ruby on Rails API documentation tool

typeprof - An experimental type-level Ruby interpreter for testing and understanding Ruby code

grape-swagger - Add OAPI/swagger v2.0 compliant documentation to your grape API

vscode-solargraph - A Visual Studio Code extension for Solargraph.

Asciidoctor - :gem: A fast, open source text processor and publishing toolchain, written in Ruby, for converting AsciiDoc content to HTML 5, DocBook 5, and other formats.

rbs - Type Signature for Ruby

Annotate - Annotate Rails classes with schema and routes info

vscode-ruby - Provides Ruby language and debugging support for Visual Studio Code

GitHub Changelog Generator - Automatically generate change log from your tags, issues, labels and pull requests on GitHub.

sorbet - A fast, powerful type checker designed for Ruby