| 1 | # Alchemy Effect Website |
| 2 | |
| 3 | This workspace contains the customer-facing docs site for Alchemy Effect. |
| 4 | |
| 5 | ## Build Pipeline |
| 6 | |
| 7 | The site is intentionally split into independent steps: |
| 8 | |
| 9 | 1. `pnpm build:reference` generates Zola-compatible API reference pages from the TypeScript source tree. |
| 10 | 2. `pnpm build:assets` compiles the shared Tailwind CSS and the custom browser JavaScript bundle. |
| 11 | 3. `pnpm build:site` renders the site with Zola. |
| 12 | 4. `pnpm build:search` indexes the built HTML with Pagefind. |
| 13 | 5. `alchemy.run.ts` deploys the final `dist/` directory through `Cloudflare.Website.StaticSite(...)`. |
| 14 | |
| 15 | This keeps the large markdown corpus on a Rust-first rendering path while still |
| 16 | allowing a modern custom UI. |
| 17 | |
| 18 | ## Local Commands |
| 19 | |
| 20 | - `pnpm build` |
| 21 | - `pnpm dev:site` |
| 22 | - `pnpm deploy` |
| 23 | - `pnpm destroy` |
| 24 | |
| 25 | ## Benchmark Snapshot |
| 26 | |
| 27 | Measured locally on 2026-04-02: |
| 28 | |
| 29 | - API reference generation: about `2.2s` |
| 30 | - Tailwind + browser bundle build: about `0.9s` |
| 31 | - Zola render: about `0.6s` |
| 32 | - Pagefind indexing: about `0.3s` |
| 33 | - Total built files in `dist/`: `693` |
| 34 | - Total built bytes in `dist/`: `3,120,670` |
| 35 | - Pagefind files: `350` |
| 36 | - Pagefind bytes: `633,383` |
| 37 | |
| 38 | These numbers should be treated as a baseline for future changes to the docs |
| 39 | pipeline. |