You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ When code and docs disagree, **PRD and contract win** (WordPress.org Theme Revie
27
27
How-it-works maps describe current machinery only. They must not invent product law.
28
28
29
29
Load [`docs/prd/start-stackable.agents.md`](./docs/prd/start-stackable.agents.md) before changing templates, `theme.json`, header behavior, onboarding, patterns, or theme e2e.
30
-
Use [`docs/prd/start-stackable.plan.md`](./docs/prd/start-stackable.plan.md) when implementing a phase (Phases 0 and 1 are done; Phase 2 is in progress).
30
+
Use [`docs/prd/start-stackable.plan.md`](./docs/prd/start-stackable.plan.md) when implementing a phase (Phases 0-2 are done; Phase 3 is in progress).
31
31
Use [`docs/prd/start-stackable.check.md`](./docs/prd/start-stackable.check.md) to verify a finished (or phase-complete) theme without relying on e2e.
32
32
33
33
Changing a shell-contract **primitive** requires updating the matching PRD/contract surfaces and tests in the same change.
Phases 0 and 1 are done (bootstrap and the `theme.json` design system).
17
-
Phase 2 is in progress (style variations).
18
-
Phases 3-11 are not started.
19
-
**Current: Phase 2** in the plan.
16
+
Phases 0-2 are done (bootstrap, the `theme.json` design system, and style variations).
17
+
Phase 3 is in progress (header and footer parts plus patterns).
18
+
Phases 4-11 are not started.
19
+
**Current: Phase 3** in the plan.
20
20
Do not skip phases.
21
21
Do not treat the file map or template-as-pattern-include as the current tree.
22
22
Fix [gaps](#current-repo-gaps) on the matching phase only.
@@ -100,7 +100,7 @@ Kit Home uses the page's `full-width` template.
100
100
101
101
When finished, templates are thin `wp:pattern` includes of template patterns.
102
102
Parts are thin includes of header/footer patterns.
103
-
Today they are still inline HTML (Phase 3+).
103
+
Parts now use pattern includes; templates remain inline until Phase 4+.
104
104
105
105
## Patterns
106
106
@@ -115,23 +115,22 @@ Not allowed: a section catalog of heroes, pricing, testimonials, team, FAQ, logo
115
115
Do not take a later gap first.
116
116
Each item is gone or explicitly deferred in an ADR.
117
117
118
-
- Phase 2: typography variations; at least one dark. Color hue files exist.
119
-
- Phase 3: header/footer as pattern includes; footer copyright = site name, not a year-only stub.
118
+
- Phase 3: header/footer patterns and thin part includes are implemented; acceptance verification is in progress.
120
119
- Phase 4: first-activation grid must look designed (not an unstyled Query Loop). Templates must not reference missing slugs (`spacing|50`, color `secondary`).
121
120
- Phase 5: `full-width` must drop extra main padding that blocks `alignfull`.
122
121
- Phase 6: sticky / transparent / scroll state in `src/` (height token host already exists).
123
-
- Phase 7-11: patterns empty; no Woo templates; no recommend-plugin notice; no `screenshot.png`; snap-in contract on paper only.
122
+
- Phase 7-11: pattern catalog incomplete; no Woo templates; no recommend-plugin notice; no `screenshot.png`; snap-in contract on paper only.
Copy file name to clipboardExpand all lines: docs/prd/start-stackable.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,9 +18,9 @@ What you have now is a working **scaffold**: it activates, the Site Editor opens
18
18
Default (the designed blog you should see on first activation) is not a product yet.
19
19
20
20
Work is organized as **phases 0 through 11** in the [implementation plan](./start-stackable.plan.md).
21
-
Phases 0 and 1 are done.
22
-
**The current work is Phase 2** (style variations).
23
-
Do not skip ahead to headers, patterns, or Site Kit snap-in until that phase's **Done when** is true.
21
+
Phases 0-2 are done.
22
+
**The current work is Phase 3** (header and footer parts plus patterns).
23
+
Do not skip ahead to blog templates, canvases, or Site Kit snap-in until that phase's **Done when** is true.
24
24
25
25
If a word feels loaded (Default, shell, token, canvas, header flag), see [`CONTEXT.md`](../../CONTEXT.md).
26
26
@@ -36,7 +36,7 @@ If a word feels loaded (Default, shell, token, canvas, header flag), see [`CONTE
36
36
| See the two big decisions (theme is shell, theme is Default) |[`../adr/`](../adr/)|
37
37
| Work on Site Kits (plugin, not this theme) | Sibling `../Stackable/docs/prd/site-kits.md`|
38
38
39
-
You do not need the plugin docs, the import contract, or the agent PRD to start Phase 2.
39
+
You do not need the plugin docs or the import contractto start Phase 3.
40
40
41
41
## Block theme in 60 seconds
42
42
@@ -48,7 +48,7 @@ These are the files you will touch, and what each one is for:
48
48
|`styles/colors/` and `styles/typography/`| Optional skins (style variations) that restyle the **same** named colors or fonts. Switching a variation in Site Editor → Styles should restyle the whole site. |
49
49
|`templates/`| One HTML file per kind of page (blog home, single post, page, search, 404, and so on). WordPress picks the file automatically. |
50
50
|`parts/`| Reusable header and footer pieces that templates include. |
51
-
|`patterns/`| Reusable block layouts (post card, header markup, one optional Homepage starter). Empty until Phase 7. |
51
+
|`patterns/`| Reusable block layouts. Phase 3 adds header/footer patterns; later phases add blog atoms, template patterns, and one optional Homepage starter. |
52
52
|`functions.php`| The only PHP bootstrap WordPress loads from the theme. Must be this filename (not `function.php`). |
53
53
|`src/`| Extra CSS and JS for behavior `theme.json` cannot express (sticky/transparent header). Compiles into `assets/build/`. |
54
54
|`style.css`| Theme identity for WordPress (name, version, tags). It is not where the design system lives. |
@@ -63,50 +63,50 @@ CSS in `src/` is only for things `theme.json` cannot do, such as measuring heade
63
63
64
64
## Current state (you are here)
65
65
66
-
Snapshot of the tree as of 26 August 2026.
66
+
Snapshot of the tree as of 1 September 2026.
67
67
If the files and this section disagree, trust the files and the [phase checklists](./start-stackable.check.md).
68
68
69
-
**Phases 0 and 1 are complete.**
69
+
**Phases 0-2 are complete.**
70
70
The theme is a valid block theme that activates without a PHP fatal.
71
71
`functions.php` enqueues `assets/build/frontend.*` and adds the body class `stk--is-stackable-theme`.
72
72
`npm run start` compiles `src/` into `assets/build/`.
73
73
Template and part **files** exist.
74
74
Color palette **slugs** and content/wide widths already match the token contract below.
75
75
76
-
**Phase 2 is in progress.**
77
-
Phases 3-11 are not started.
76
+
**Phase 3 is in progress.**
77
+
Phases 4-11 are not started.
78
78
What you see on `/` is a skeleton blog (site title, a basic post grid, a footer), not the designed Default the product requires.
79
79
80
80
| Phase | Status | What is true now | What "done" looks like |
| 1 Design system | Done | Token contract, Jakarta headings, system body, fluid type and spacing, shadows, radius, and core-block styles are implemented | (already met) |
84
-
| 2 Style variations |In progress | Eight color hue files; empty `styles/typography/`; no dark variation | Color + typography skins, including at least one dark, using the same slugs|
85
-
| 3 Header and footer |Scaffold | Parts exist (title + nav; footer columns); not designed pattern includes | Designed, fresh-install-safe header/footer with no hardcoded Navigation `ref`|
84
+
| 2 Style variations |Done | Nine color skins, including Dark, plus Compact and Editorial typography presets use the shared token contract | (already met)|
85
+
| 3 Header and footer |In progress | Five core-only patterns own the shell markup; parts are thin pattern includes | Designed, fresh-install-safe header/footer with no hardcoded Navigation `ref`|
86
86
| 4 First-activation blog | Scaffold |`index.html` is a basic two-column Query Loop | Crafted post cards, designed single/search/404, `/` looks like a product with Hello World |
87
87
| 5 Canvases | Scaffold |`page`, `full-width`, and `blank` files exist; `full-width` still wraps content in padding | Ordinary pages have a title; kit pages are full-bleed with no theme title |
88
88
| 6 Header flags | Stub | JS only sets `--stk-header-height`; no sticky/transparent CSS yet | Sticky, transparent overlay, scroll-to-solid, mobile nav above a hero, plugin off |
89
-
| 7 Patterns | Not started |`patterns/` is empty| Header/footer/post-card/comments + exactly one Homepage starter; no hero/pricing catalog |
89
+
| 7 Patterns | Not started |Header/footer patterns exist; blog atoms and `page-home` do not| Header/footer/post-card/comments + exactly one Homepage starter; no hero/pricing catalog |
90
90
| 8 Woo templates | Not started | No Woo HTML templates | Shop/product/cart/checkout look designed if Woo is active; theme still works if it is not |
Copy file name to clipboardExpand all lines: e2e/readme.md
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -64,12 +64,11 @@ opens the editor. Do not listen for console `Block validation` messages.
64
64
65
65
| Spec | Assertions (shipped now) |
66
66
| --- | --- |
67
-
|`e2e/tests/standalone-activate.spec.ts`| Theme activates from a default theme; admin Themes screen has no PHP error; front page shows header (site title) + footer; no `stackable/` markup; 404 template renders. |
67
+
|`e2e/tests/standalone-activate.spec.ts`| Theme activates from a default theme; the front shows the pattern-backed header, navigation, footer, and user-site copyright; WordPress registers all five shell patterns; Site Editor shows no recovery UI; no `stackable/` markup; 404 template renders. |
68
+
|`e2e/tests/tokens-and-variations.spec.ts`| WordPress discovers the Default token contract, all color variations keep the same palette slugs, Dark recolors the shell and content, and both typography presets change visible front-end type. |
68
69
69
70
Deferred until those surfaces ship (see [`docs/prd/start-stackable.agents.md`](../docs/prd/start-stackable.agents.md#e2e-create-these)):
70
71
71
-
- Navigation without stale `ref`
72
-
-`tokens-and-variations.spec.ts`
73
72
-`blog.spec.ts` (`home.html`, `search.html`, post card completeness)
0 commit comments