Mercurial
comparison .claude/skills/zenbu-personal-site/SKILL.md @ 258:60a876c4587a
[ui] Add semantic primitive ownership
Build a layered Zenbu token and sizing system, make authored controls use native-underneath primitives, migrate mrjunejune without imposing visual surfaces, and document/enforce HTML ownership in the catalog and wiki.
Co-authored-by: Copilot <[email protected]>
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Wed, 05 Aug 2026 05:25:40 -0700 |
| parents | 30c2196d03d4 |
| children | 667156fcd3e3 |
comparison
equal
deleted
inserted
replaced
| 257:609d3c6aff4e | 258:60a876c4587a |
|---|---|
| 14 - `mrjunejune/src/parts/`: shared HTML includes used by `{{...}}` template placeholders. | 14 - `mrjunejune/src/parts/`: shared HTML includes used by `{{...}}` template placeholders. |
| 15 - `mrjunejune/src/public/`: public assets, PWA files, media, generated JS, icons, resume PDF. | 15 - `mrjunejune/src/public/`: public assets, PWA files, media, generated JS, icons, resume PDF. |
| 16 - Zenbu UI assets are copied from `//design_system:components` and | 16 - Zenbu UI assets are copied from `//design_system:components` and |
| 17 `//design_system:styles` into `src/public/design-system/` by Bazel. Do not | 17 `//design_system:styles` into `src/public/design-system/` by Bazel. Do not |
| 18 hand-copy or fork shared component files. | 18 hand-copy or fork shared component files. |
| 19 - Preserve the site's established transparent content and plain header/icon | |
| 20 presentation. Use `appearance="plain"` when shared behavior is useful, and | |
| 21 do not introduce cards, shadows, borders, or surfaces without a concrete UX | |
| 22 reason. | |
| 23 - Every site-owned `zen-button` declares an `xs` / `sm` / `md` / `lg` / `xl` | |
| 24 size. Site CSS must consume inherited `--zenbu-control-*` aliases plus | |
| 25 `--zenbu-sys-padding-*` and typography roles instead of hardcoding control | |
| 26 padding or height. | |
| 27 - New site CSS uses `--zenbu-sys-*` semantic roles. Do not consume | |
| 28 `--zenbu-ref-color-*` or add new `--zen-*` compatibility-token usage. | |
| 19 - `mrjunejune/test/`: integration tests and snapshots. | 29 - `mrjunejune/test/`: integration tests and snapshots. |
| 20 - `mrjunejune/BUILD`: Bazel build, bundle, asset movement, and test-visible filegroups. | 30 - `mrjunejune/BUILD`: Bazel build, bundle, asset movement, and test-visible filegroups. |
| 21 - `mrjunejune/.config` and `.config.development`: server configuration. Do not commit secrets. | 31 - `mrjunejune/.config` and `.config.development`: server configuration. Do not commit secrets. |
| 22 | 32 |
| 23 ## How rendering works | 33 ## How rendering works |
| 31 Dowa_HashMap_Push_Arena(resp, "body", final_body, arena); | 41 Dowa_HashMap_Push_Arena(resp, "body", final_body, arena); |
| 32 return resp; | 42 return resp; |
| 33 ``` | 43 ``` |
| 34 | 44 |
| 35 The simple template renderer replaces `{{...}}` tokens with file contents loaded through `Seobeo_Web_LoadFile`. | 45 The simple template renderer replaces `{{...}}` tokens with file contents loaded through `Seobeo_Web_LoadFile`. |
| 46 | |
| 47 Before adding or changing HTML controls, read | |
| 48 `design_system/wiki/HTML_AUTHORING.md` and `PRIMITIVE_MAP.md`. Every authored | |
| 49 interactive control must have exactly one appropriate Zenbu owner while | |
| 50 retaining its native element underneath. | |
| 36 | 51 |
| 37 ## Routes and features | 52 ## Routes and features |
| 38 | 53 |
| 39 Existing route areas include: | 54 Existing route areas include: |
| 40 | 55 |