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