Skip to the content.

ADR 0006: Standalone gem, not a Bundler plugin

Status: Accepted Date: 2026-04-27

Context

Bundler supports plugins that extend bundle with new subcommands. A natural-feeling distribution would be bundle contribute, mirroring bundle fund. Alternatively, we ship as a standalone gem invoked as gem-contribute.

Decision

Standalone gem at v1. Bundler plugin path is not foreclosed; it just isn’t v1’s problem.

Reasoning

Bundler plugin authoring has its own learning curve, its own API surface, and its own debugging story. None of that is the part of this project we want attendees of the Blue Ridge Ruby workshop to learn. They’re here to learn Ratatui and OAuth and GitHub’s API. The Bundler plugin packaging concerns would actively distract.

A standalone gem also keeps the dev loop shorter: clone, bundle install, bin/gem-contribute. Plugin development requires installing into Bundler’s plugin directory and reasoning about how Bundler isolates plugin gems.

The user-facing UX difference is small. bundle contribute is two characters shorter than gem-contribute and feels more native. That’s not zero, but it’s not v1’s priority either.

Alternatives considered

Consequences