comparison .claude/skills/zenbu-personal-site/SKILL.md @ 259:667156fcd3e3

Add dev-only cyberpunk JRPG page
author MrJuneJune <me@mrjunejune.com>
date Wed, 05 Aug 2026 09:19:41 -0700
parents 60a876c4587a
children 1f9877b637e9
comparison
equal deleted inserted replaced
258:60a876c4587a 259:667156fcd3e3
27 - New site CSS uses `--zenbu-sys-*` semantic roles. Do not consume 27 - New site CSS uses `--zenbu-sys-*` semantic roles. Do not consume
28 `--zenbu-ref-color-*` or add new `--zen-*` compatibility-token usage. 28 `--zenbu-ref-color-*` or add new `--zen-*` compatibility-token usage.
29 - `mrjunejune/test/`: integration tests and snapshots. 29 - `mrjunejune/test/`: integration tests and snapshots.
30 - `mrjunejune/BUILD`: Bazel build, bundle, asset movement, and test-visible filegroups. 30 - `mrjunejune/BUILD`: Bazel build, bundle, asset movement, and test-visible filegroups.
31 - `mrjunejune/.config` and `.config.development`: server configuration. Do not commit secrets. 31 - `mrjunejune/.config` and `.config.development`: server configuration. Do not commit secrets.
32 - Experimental pages use the `MRJUNEJUNE_ENABLE_DEV_PAGES` compile-time gate.
33 Their static files belong in `src_files_development`; production
34 `src_files`, `mrjunejune_server`, and `mrjunejune_server_bundle` must exclude
35 them.
32 36
33 ## How rendering works 37 ## How rendering works
34 38
35 Handlers allocate a response body from `Dowa_Arena`, render an HTML file with `Seobeo_Render_Html_FilePath`, and return a response map: 39 Handlers allocate a response body from `Dowa_Arena`, render an HTML file with `Seobeo_Render_Html_FilePath`, and return a response map:
36 40
68 bazel build //mrjunejune:mrjunejune_server 72 bazel build //mrjunejune:mrjunejune_server
69 bazel build //mrjunejune:mrjunejune_server_bundle 73 bazel build //mrjunejune:mrjunejune_server_bundle
70 bazel test //mrjunejune/test:integration_test 74 bazel test //mrjunejune/test:integration_test
71 ``` 75 ```
72 76
73 Use the debug server when investigating routing or networking: 77 Use the development server for experimental pages and debug networking:
74 78
75 ```bash 79 ```bash
76 bazel build //mrjunejune:mrjunejune_server_debug -c dbg 80 bazel run //mrjunejune:mrjunejune_server_dev -c dbg
77 ``` 81 ```
78 82
79 ## Production-minded checklist 83 ## Production-minded checklist
80 84
81 - Use Dowa's fixed-width aliases and `boolean`/`TRUE`/`FALSE` in first-party C 85 - Use Dowa's fixed-width aliases and `boolean`/`TRUE`/`FALSE` in first-party C
84 - Never hardcode secrets. Read configuration from `.config` or environment wiring already used by the Bazel target. 88 - Never hardcode secrets. Read configuration from `.config` or environment wiring already used by the Bazel target.
85 - For uploads and downloads, validate filenames and content lengths before touching `/tmp`. 89 - For uploads and downloads, validate filenames and content lengths before touching `/tmp`.
86 - For binary responses, set `content-length` and avoid string-only operations on body bytes. 90 - For binary responses, set `content-length` and avoid string-only operations on body bytes.
87 - If a route is part of the public website, add or update snapshot coverage in `mrjunejune/test`. 91 - If a route is part of the public website, add or update snapshot coverage in `mrjunejune/test`.
88 - Keep PWA changes consistent across `manifest.json`, `sw.js`, icons, and `PWA_SETUP.md`. 92 - Keep PWA changes consistent across `manifest.json`, `sw.js`, icons, and `PWA_SETUP.md`.
89 - Site themes use `data-zen-theme` with Auto, Paper, Ink, and Playful states. 93 - Site themes use `data-zen-theme` with Auto, Paper, Ink, Playful, and
94 Cyberpunk states.
90 Preserve the More Sugar font aliases and keep theme-specific values in shared 95 Preserve the More Sugar font aliases and keep theme-specific values in shared
91 design-system tokens rather than branching inside components. 96 design-system tokens rather than branching inside components.
92 - Reuse `seobeo`, `dowa`, `deita`, `s3`, and `markdown_converter` instead of adding parallel implementations. 97 - Reuse `seobeo`, `dowa`, `deita`, `s3`, and `markdown_converter` instead of adding parallel implementations.