deploy: make vanilla aem-boilerplate the runtime; remove AuthorKit#224
Open
paolomoz wants to merge 2 commits into
Open
deploy: make vanilla aem-boilerplate the runtime; remove AuthorKit#224paolomoz wants to merge 2 commits into
paolomoz wants to merge 2 commits into
Conversation
stardust:deploy assumed the AuthorKit runtime by default and treated
vanilla aem-boilerplate as a "port AuthorKit onto it" branch. Across the
end-to-end interview sessions, operators repeatedly chose vanilla and
shipped full sites off-script, while AuthorKit was the source of most of
the silent-failure guardrails (no .block class, footer double-load,
postlcp className edit, body.appear blank-render, fragment-<script> inert,
late-fragment CLS) and its upstream runtime has drifted away from the
static-fragment model the skill documents.
Make vanilla the first-class (and only documented) target:
- Runtime section: replace the 55-line "bootstrap AuthorKit onto vanilla"
recipe with a one-line runtime-detection gate + a short legacy appendix.
Record `runtime: aem-boilerplate` as state so prototype/migrate/diff key
the class contract off a declared field instead of re-guessing.
- Sections: `.default-content-wrapper` (not `.default-content`/`.block-content`);
add `main > .section:empty{display:none}` to collapse the consumed metadata
section; grounds set per-block via block.closest('.section').
- Fonts: metric-matched fallback @font-face + the standard body.appear paint
gate vanilla actually drives (drops body.session/decorateSession; inverts #40).
- Buttons: vanilla decorateButtons → .button/.button-container/.primary/.secondary
(drops .btn/.btn-group/ak.js decorateButton).
- Header/footer: self-contained header/footer blocks (JS runs → no inert-<script>
trap, no postlcp className edit, no late-fragment CLS); subfolder multi-tenant note.
- Delete bootstrap-authorkit.mjs; point build-harness.mjs at scripts.js (not ak.js).
- Mark AuthorKit findings in IMPROVEMENTS.md as legacy (#4/#21/#26/#40/#81/#84);
supersede #84. Update diff BLANK_RENDER hint and rollout multilingual chrome routing.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Tessl Skill Lint
|
Forces the plugin cache to re-copy from source on update/reinstall so the AuthorKit-removal changes actually land in installed projects (the cache is keyed by version; 0.13.1 would otherwise be treated as already-current). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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
stardust:deployassumed the AuthorKit runtime by default and treated vanillaaem-boilerplateas a "port AuthorKit onto it" branch (a 55-line bootstrap section +bootstrap-authorkit.mjs). Two things the end-to-end interview sessions made clear:.blockclass → grids silently stack; footer double-load;postlcpclassName edit;body.appearblank-render; fragment-<script>inert; late-fragment CLS), and its upstream runtime has drifted off the static-fragment model the skill documents. Maintaining a stale runtime contract is the worst option.This PR makes vanilla the first-class (and only documented) target and demotes AuthorKit to a short legacy appendix. (Assumes no actively-maintained live AuthorKit sites depend on the skill — confirmed out-of-band.)
What changed
deploy/SKILL.mdruntime: aem-boilerplateas state so prototype/migrate/diffkey the class contract off a declared field instead of re-guessing (addresses the prototype↔deploy contract-drift the sessions flagged)..default-content-wrapper(not.default-content/.block-content);main > .section:empty{display:none}to collapse the consumed metadata section; grounds set per-block viablock.closest('.section').@font-face+ the standardbody.appearpaint gate vanilla actually drives — dropsbody.session/decorateSession; inverts the old feat: add workflow-purge skill and fix launcher eventType bitmask #40 warning.decorateButtons→.button/.button-container/.primary/.secondary(drops.btn/.btn-group/ak.js decorateButton).header/footerblocks — block JS runs, so no inert-<script>trap, nopostlcpclassName edit, no late-fragment CLS. Adds a subfolder multi-tenant note (don't hardcode a root-absolute nav source).Scripts
bootstrap-authorkit.mjs(obsolete).build-harness.mjsnow loads/scripts/scripts.js(vanilla boot) instead of/scripts/ak.js.Other skills
deploy/IMPROVEMENTS.md: banner marking AuthorKit findings (Added Skill for Building Blocks for EDS when AEM Sites Universal Editor is your Content Source #4/feat: add AEM workflow troubleshooting and debugging skills #21/feat: add Universal Editor component model skill #26/feat: add workflow-purge skill and fix launcher eventType bitmask #40/docs(migration): add OSGi → Cloud Manager reference and wire migration skill #81/feat: adding aem content distribution skill in AEMaaCS skills #84) as legacy; feat: adding aem content distribution skill in AEMaaCS skills #84 superseded.diff/scripts/diff-profiles.mjs:BLANK_RENDERhint rewritten for vanilla (the gate IS driven; blank = harness/decorate failure).rollout/reference/multilingual.md: language-route the header/footer blocks instead ofloadStaticFragment.Design choices worth a look
loadFragment('/nav')); the fragment-content path is documented as the opt-in for when nav must be DA-authorable.font-display: swapdoes the CLS work); the boilerplatebody.appeardisplay gate is kept as-is.Risk / not done here
IMPROVEMENTS.md.🤖 Generated with Claude Code