comparison .claude/skills/zenbu-personal-site/SKILL.md @ 256:30c2196d03d4

[site] Integrate Zenbu themes and components Co-authored-by: Copilot <[email protected]>
author MrJuneJune <me@mrjunejune.com>
date Tue, 04 Aug 2026 16:49:01 -0700
parents b8b6e726964a
children 60a876c4587a
comparison
equal deleted inserted replaced
255:5ec271d612ae 256:30c2196d03d4
11 11
12 - `mrjunejune/main.c`: C web server, routes, APIs, S3 upload URL generation, editor persistence, media conversion, WebSocket chat. 12 - `mrjunejune/main.c`: C web server, routes, APIs, S3 upload URL generation, editor persistence, media conversion, WebSocket chat.
13 - `mrjunejune/src/`: static site source files and HTML templates. 13 - `mrjunejune/src/`: static site source files and HTML templates.
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
17 `//design_system:styles` into `src/public/design-system/` by Bazel. Do not
18 hand-copy or fork shared component files.
16 - `mrjunejune/test/`: integration tests and snapshots. 19 - `mrjunejune/test/`: integration tests and snapshots.
17 - `mrjunejune/BUILD`: Bazel build, bundle, asset movement, and test-visible filegroups. 20 - `mrjunejune/BUILD`: Bazel build, bundle, asset movement, and test-visible filegroups.
18 - `mrjunejune/.config` and `.config.development`: server configuration. Do not commit secrets. 21 - `mrjunejune/.config` and `.config.development`: server configuration. Do not commit secrets.
19 22
20 ## How rendering works 23 ## How rendering works
66 - Never hardcode secrets. Read configuration from `.config` or environment wiring already used by the Bazel target. 69 - Never hardcode secrets. Read configuration from `.config` or environment wiring already used by the Bazel target.
67 - For uploads and downloads, validate filenames and content lengths before touching `/tmp`. 70 - For uploads and downloads, validate filenames and content lengths before touching `/tmp`.
68 - For binary responses, set `content-length` and avoid string-only operations on body bytes. 71 - For binary responses, set `content-length` and avoid string-only operations on body bytes.
69 - If a route is part of the public website, add or update snapshot coverage in `mrjunejune/test`. 72 - If a route is part of the public website, add or update snapshot coverage in `mrjunejune/test`.
70 - Keep PWA changes consistent across `manifest.json`, `sw.js`, icons, and `PWA_SETUP.md`. 73 - Keep PWA changes consistent across `manifest.json`, `sw.js`, icons, and `PWA_SETUP.md`.
74 - Site themes use `data-zen-theme` with Auto, Paper, Ink, and Playful states.
75 Preserve the More Sugar font aliases and keep theme-specific values in shared
76 design-system tokens rather than branching inside components.
71 - Reuse `seobeo`, `dowa`, `deita`, `s3`, and `markdown_converter` instead of adding parallel implementations. 77 - Reuse `seobeo`, `dowa`, `deita`, `s3`, and `markdown_converter` instead of adding parallel implementations.