Skip to content

Keel base theme wiring - #2

Merged
bappi merged 2 commits into
mainfrom
keel-base-theme-wiring
Jul 25, 2026
Merged

Keel base theme wiring#2
bappi merged 2 commits into
mainfrom
keel-base-theme-wiring

Conversation

@bappi

@bappi bappi commented Jul 25, 2026

Copy link
Copy Markdown
Owner

What & why

Checklist

  • One focused change; described above.
  • JS parses: for f in scripts/visual-check/*.mjs; do node --check "$f"; done
  • Base theme PHP lints: find base-theme -name '*.php' -print0 | xargs -0 -n1 php -l
  • WPCS clean on the base theme: cd base-theme && composer lint
  • If it affects generated themes, the DONE ledger is green (paste RESULT: DONE).
  • If a build rule changed, CLAUDE.md is updated (single source of truth).
  • I license my contribution under GPL-2.0-or-later.

bappi and others added 2 commits July 10, 2026 08:43
Replace the FSE/Tailwind base-theme with the Keel hybrid-classic theme
(slug tbt), and re-point the scaffolder, packager, and visual-check gates
to it.

- base-theme/: swap FSE/Tailwind starter for the tbt Keel theme (PHP
  template hierarchy + hooks + server-rendered blocks; theme.json as the
  only token source; no Tailwind, no .html templates).
- new-site.sh: clone base-theme -> sites/<slug> and rewrite tbt->slug per
  RENAME.md (text domain, tbt_/Tbt_/TBT_ prefixes, block namespace, CSS
  vars), rename the .pot, fix .wp-env.json, then npm install && build.
- package-site.sh: build with wp-scripts and stage a runtime-only zip
  (ships /build; excludes block source, tooling, bin/, examples/, docs).
- visual-check re-point (REBUILD.md §11):
  - lint-theme: Keel CSS/markup paths + leftover-Tailwind and
    raw-value/token-enforcement checks.
  - seed: create + assign a nav menu (classic nav needs one).
  - assert: config-driven mobile-nav (classic dropdown, not FSE overlay).
  - style-diff: add --extract mode emitting the porting manifest.
  - validate-blocks: SSR rewrite (block.json/render.php validity, php -l,
    zero render-time PHP errors; drop the isValid check).
  - ledger/example.json: updated sequence, boot notes, Keel selectors.
- Docs: CLAUDE.md rewritten as the Keel pipeline playbook; README
  architecture/quick-start/gates updated.

Verified end-to-end: scaffolded a sample slug (0 residual tbt, correct
build namespace, clean php -l), packaged a runtime-only zip, and ran the
re-pointed gates against a live wp-now render (seed incl. menu creation,
assert incl. classic mobile-nav, validate-blocks, style-diff --extract).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…spec

- run.mjs: shoot real seeded pages for hybrid-classic (Keel) themes instead
  of the FSE front-page.html swap (kept for block themes); scroll pages so
  lazy-loaded images paint before fullPage screenshots; support designClick
  for state-routed SPA designs; keep the fixed header at top under admin bar.
- seed.mjs: upsert pages by slug instead of minting "-2" duplicates when a
  slug already exists; raise the cold wp-now block-editor wait to 180s.
- style-diff.mjs / text-parity.mjs: apply designClick on the design side;
  collapse innerText whitespace so table rows don't false-fail parity.
- new-site.sh: rewrite the phpcs PrefixAllGlobals value to the underscore
  prefix (a hyphenated slug is not a valid PHP prefix).
- Add claudetowp-to-keel-rebuild-spec.md — the locked decisions for the
  FSE→Keel hybrid-classic rebuild.
- .gitignore: exclude per-client design sources and gate configs (same rule
  as sites/) and local Claude Code settings.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@bappi
bappi merged commit 8140a39 into main Jul 25, 2026
@bappi
bappi deleted the keel-base-theme-wiring branch July 25, 2026 11:11
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