Skip to content

Using plugins

A plugin teaches Rigor about a framework, a gem, or an application DSL that plain inference cannot see — Rails route helpers, RSpec let bindings, dry-rb struct attributes, and so on. This page is about activating plugins. Writing one is covered by examples/ and the rigor-plugin-author skill.

List plugins under the plugins: key in your config file:

plugins:
- rigor-activerecord
- rigor-rspec
- rigor-rails-routes

Each name is a plugin that ships bundled inside the rigortype gem — no separate installation is needed. Listing a plugin under plugins: is enough to activate it. A plugin that needs configuration takes the object form:

plugins:
- gem: rigor-activerecord
config:
schema: db/schema.rb

Rigor ships a catalogue of production plugins under plugins/. The set grows between releases — consult that directory for the current list and each plugin’s options — but the families today are:

  • Railsrigor-activerecord, rigor-actionpack, rigor-rails-routes, rigor-rails-i18n, rigor-actionmailer, rigor-activejob, rigor-activestorage, rigor-actioncable. The rigor-rails meta-gem bundles the Rails set for Gemfile convenience; you still enumerate the individual plugins you want under plugins:.
  • Testingrigor-rspec, rigor-rspec-rails, rigor-minitest, rigor-shoulda-matchers, rigor-factorybot.
  • dry-rbrigor-dry-types, rigor-dry-schema, rigor-dry-struct, rigor-dry-validation.
  • Other ecosystemsrigor-sinatra, rigor-hanami, rigor-devise, rigor-pundit, rigor-sidekiq, rigor-graphql, rigor-statesman, rigor-sorbet, rigor-typescript-utility-types, rigor-activesupport-core-ext.

plugins/ holds production plugins for real gems and frameworks — the ones you activate. The examples/ tree holds tutorial plugins over deliberately simplified DSLs; they are reading material for plugin authors, not for activation in a real project.

A plugin may want to read a file (a schema dump) or reach the network. Those are gated by the plugins_io: config keys — the network is disabled by default, and a plugin can read only the paths you list. See Configuration.

© 2026 TypedDuck. Licensed under CC BY-SA 4.0.