Feat/generator dependency registry#200
Draft
OutlawAndy wants to merge 21 commits into
Draft
Conversation
Apply the reviewer's concrete suggestions and reduce cross-generator coupling: - deploy workflows: support deploying a specific SHA/branch via workflow_dispatch input; staging pushes now trigger on the `staging` branch - core_setup README/USAGE: tighten the UI Components / feature descriptions - simple_form: replace the interactive tailored_select prompt with a --tailored_select class option that delegates to the tailored_select generator - tailored_select: own the SimpleForm input template and install it only when SimpleForm is present in the app - webpack: own the Sentry webpack wiring via a --sentry option; core_setup passes it. The wiring itself is a single shared GeneratorBase helper reused by the standalone sentry generator, so there's one source of truth - webpack: drop terser-webpack-plugin and rely on webpack 5's built-in minimizer (the '...' placeholder), keeping CssMinimizerPlugin - sentry: guard set_sentry_user so it's a no-op without an auth generator, removing the hard Devise dependency in fresh core_setup apps Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Verifies against Rails 8.1.2: config.generators routing into Rails::Generators.options, boolean hook_for default resolution at class definition (including generator_name > base_name precedence), hook target namespace lookup priority, declaration-position execution order, and that the engine's eager-require path defines no hook-declaring generators (engine generators blocks run before Rails::Generators.configure!).
Every rolemodel generator now records its run in a marker-delimited managed block in config/initializers/rolemodel_generators.rb, read back through Rails' own config.generators option resolution. Recording skips --pretend and exempted classes, removes the entry on rails destroy, and never overwrites an explicit false (the persistent opt-out).
coupling_hook wraps a boolean hook_for with a registry-computed default (explicit config keys still win) and a skip note at the hook's position. requires_generator aborts before any action when a prerequisite is not recorded — invoke-only, so rails destroy teardown is never blocked.
- Strip --sentry flag from webpack invocation in core_setup - Remove stale rolemodel:semaphore invocation from all_generator - Add skip_registry_entry! to all 6 composite generators - Pin Rails abort_on_failure behavior with spec - Verify composite exemption from registry recording
… references - Add Generator Registry section to root README with opt-out and drift recovery instructions - Remove stale Semaphore links from both READMEs - Document sentry↔webpack coupling on both generator READMEs - Document tailored_select↔simple_form coupling - Add Registry generator to both generator index lists
mark-kraemer
force-pushed
the
dev-97-update-rolemodel-rails-generators
branch
from
July 14, 2026 14:33
ce61461 to
371fad1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why?
Why were the changes needed? What issues were the changes addressing?
(Note: some changes may seem unrelated to the ticket, this is a great place to explain further.)
What Changed
What changed in this PR?
Pre-merge checklist
bin/bump_versionorbin/bump_version --patchScreenshots
If any UI changes need to be shown off, please add screenshots here.