Mercurial
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. |