Skip to content

Migrate to the manifest-based the_local provider model - #158

Merged
tylercschneider merged 9 commits into
mainfrom
chore/the_local-interface-migration
Jul 31, 2026
Merged

Migrate to the manifest-based the_local provider model#158
tylercschneider merged 9 commits into
mainfrom
chore/the_local-interface-migration

Conversation

@tylercschneider

@tylercschneider tylercschneider commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Moves keystone_ui off the old TheLocal.register companion and onto the current manifest-based provider model, and clears out the dead code the migration surfaced.

the_local

Depends on the released the_local 0.4.0 (~> 0.4), the first published version carrying the manifest model.

The gem carries no Ruby for the_local anymore. Deleted KeystoneUi::Companion (lib/keystone_ui/the_local.rb), KeystoneUi::Reference, lib/keystone_ui/reference/guide.md, the three rendered locals under lib/, both requires (entrypoint + Rakefile), and companion_test.rb / reference_test.rb.

In their place: the_local/interface.yml declares the public surface — 2 install entry points (bin/rails generate keystone:install, KeystoneUi.configure) and 49 develop (all 48 ui_* helpers plus Keystone::Ui::Column) — and rake the_local:author rendered the_local/agents/keystone_ui-{info,install,develop}.md from it. rake the_local:check passes.

The manifest's sources: lists the component classes, not just the helper file: every ui_* helper is a **args pass-through, so the parameter contract only exists in each component's initialize.

Dead code removed

  • keystone:inject_source / keystone:clean_source (lib/tasks/keystone_ui.rake) — they rewrite the /* keystone:source */ marker that install_generator.rb:49 calls "legacy" and strips on install. Nothing under ~/projects referenced them. This closes the open question in PLAN.md §5.
  • KeystoneUi::Currentaccent_override / surface_override referenced by nothing in the gem or in keystone_colors, which uses KeystoneUiHelper instead.
  • bundle exec rspec in the docsCLAUDE.md and CONTRIBUTING.md documented a test framework this repo doesn't use; the suite is Minitest.

Guards

  • test/keystone_ui/packaging_test.rb asserts the committed locals ship — spec.files needed the_local/**/* or the gem contributes nothing. Verified red before the fix.
  • A locals CI job runs rake the_local:check, so a manifest/local drift fails the build.

423 runs, 0 failures. Rubocop clean.

🤖 Generated with Claude Code

tylercschneider and others added 9 commits July 31, 2026 14:39
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@tylercschneider
tylercschneider merged commit 845cda9 into main Jul 31, 2026
5 checks passed
@tylercschneider
tylercschneider deleted the chore/the_local-interface-migration branch July 31, 2026 19:35
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