Skip to content

kettle-jem: curate rubocop-gradual binstub generation - #62

Merged
pboling merged 137 commits into
mainfrom
kj/curate-rubocop-gradual-binstub
Sep 10, 2026
Merged

pboling merged 137 commits into
mainfrom
kj/curate-rubocop-gradual-binstub

Conversation

@pboling

@pboling pboling commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • bin/rubocop-gradual was only surviving in destination projects because it happened to be git-tracked and tracked_binstub? (added in 3496816, "Preserve tracked Bundler binstubs") protects tracked non-curated binstubs from pruning. That's a preservation safety net, not a generation path — a project that never manually created the binstub in the first place got nothing from the template.
  • rubocop-gradual is already a template-declared dependency in gemfiles/modular/style.gemfile.example, so any project using the style gemfile has it in its bundle already.
  • Added rubocop-gradual to CURATED_BINSTUB_GEMS in kettle-jem so kettle-jem install's curated bundle binstubs step generates bin/rubocop-gradual itself, the same as it already does for rake, rbs, rspec-core, and yard.

Context

Follow-up to fixing rubocop-lts-rspec's Dogfood CI workflow, where bin/rubocop-gradual + a frozen rubocop_gradual:dogfood Rake task had been wiped by an older kettle-jem version's binstub pruning. That specific repo is fixed already (git-tracked binstub + tracked_binstub? now protects it); this closes the actual gap so the binstub is generated by the template for any project going forward, not just preserved when someone hand-wrote it.

Testing

  • bundle exec rspec spec/system/install_orchestration_spec.rb spec/integration/structural_merge_template_spec.rb — 120 examples, 0 failures.

🤖 Generated with Claude Code

pboling and others added 3 commits September 8, 2026 14:16
`bin/rubocop-gradual` was only surviving in destination projects
because it happened to be git-tracked and `tracked_binstub?` (added
in 3496816) protects tracked non-curated binstubs from pruning.
That's a preservation safety net, not a generation path: a project
that never manually created the binstub in the first place got
nothing from the template.

rubocop-gradual is already a template-declared dependency in
gemfiles/modular/style.gemfile.example, so any project using the
style gemfile has it in its bundle. Add it to CURATED_BINSTUB_GEMS so
`kettle-jem install`'s curated `bundle binstubs` step generates
bin/rubocop-gradual itself, the same as it does for rake, rbs,
rspec-core, and yard.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SkhdTh8WyqNdRkUZ1aAgVi
@pboling
pboling force-pushed the kj/curate-rubocop-gradual-binstub branch from f2fe1ce to c3bfa9a Compare September 9, 2026 00:01
@pboling
pboling merged commit a9904a8 into main Sep 10, 2026
37 checks passed
@pboling
pboling deleted the kj/curate-rubocop-gradual-binstub branch September 10, 2026 05:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant