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.
Activating a plugin
Section titled “Activating a plugin”List plugins under the plugins: key in your config file:
plugins: - rigor-activerecord - rigor-rspec - rigor-rails-routesEach 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.rbAvailable plugins
Section titled “Available plugins”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:
- Rails —
rigor-activerecord,rigor-actionpack,rigor-rails-routes,rigor-rails-i18n,rigor-actionmailer,rigor-activejob,rigor-activestorage,rigor-actioncable. Therigor-railsmeta-gem bundles the Rails set for Gemfile convenience; you still enumerate the individual plugins you want underplugins:. - Testing —
rigor-rspec,rigor-rspec-rails,rigor-minitest,rigor-shoulda-matchers,rigor-factorybot. - dry-rb —
rigor-dry-types,rigor-dry-schema,rigor-dry-struct,rigor-dry-validation. - Other ecosystems —
rigor-sinatra,rigor-hanami,rigor-devise,rigor-pundit,rigor-sidekiq,rigor-graphql,rigor-statesman,rigor-sorbet,rigor-typescript-utility-types,rigor-activesupport-core-ext.
plugins/ versus examples/
Section titled “plugins/ versus examples/”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.
Sandboxing
Section titled “Sandboxing”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.