Architecture¶
Workspace boundaries¶
| Path | Responsibility |
|---|---|
apps/web |
React, TypeScript, Vite and Chakra UI v3 corporate frontend |
packages/brand |
Canonical colour/layout tokens, source artwork, fonts, licences and provenance |
packages/theme |
Chakra adapter and separately documented Panda preset |
packages/config |
Shared configuration package boundary |
services/api |
Optional, independent Cloudflare Worker starter |
docs |
Python-only Material for MkDocs site, scripts, content and output |
The docs folder is excluded from npm workspaces. The app build is frontend-only; build:all is explicit.
Styling choice¶
The default app uses Chakra UI v3. Chakra uses Emotion at runtime. Ark UI is a headless component toolkit in the Chakra ecosystem; Panda-like styling APIs do not make Chakra native Panda CSS or zero-runtime. Panda code generation does not extract Chakra component styles.
The isolated alternatives/ark-panda example substitutes React + Ark UI + Panda CSS for an application whose styling requirement is strictly zero-runtime. This describes styling output only: React and interaction JavaScript remain runtime dependencies. Its dependencies, reset, PostCSS integration and generated utilities are not included in the default app. Its type-check and build scripts run code generation automatically. Source fonts and artwork use the same canonical asset pipeline as the main website.
Selected tool versions¶
Versions are exact in package.json, .nvmrc, docs/.python-version and docs/requirements.txt (the transitive Python lock is docs/requirements.lock.txt). Selected frontend pins include React 19.3.0, Chakra UI 3.37.0, Vite 8.3.1, TypeScript 5.9.3 and ESLint 10.11.0. The separate Panda example pins Ark UI 5.39.2 and Panda CSS 2.0.0. Docs pins include MkDocs 1.6.1 and Material for MkDocs 9.7.7. Baseline checked date: 29 September 2026, using package registries for the exact release versions. The original starter could not retrieve official documentation sites. The setup review verified Cloudflare deployment controls against its official GitHub documentation sources; see Deployment. Check the primary links below before dependency upgrades.
Official references to verify before upgrades:
- Chakra installation and theming
- Panda with Vite
- Cloudflare Pages build configuration
- Material colours and fonts
- Copilot custom instructions
- Claude Code memory and project instructions
Agent adapters are root AGENTS.md, .github/copilot-instructions.md and CLAUDE.md. The only authored skill is .github/skills/validate-build/SKILL.md. Copilot's repository skill collection is .github/skills; Claude Code and Codex use different native skill discovery paths, so this skill must be read explicitly by those agents. Agent CLI versions were not installed or pinned by this starter; confirm current provider discovery behavior before relying on implicit loading.
Cloudflare boundaries¶
The app Pages project uses the repository root for the npm workspace and emits apps/web/dist. The docs Pages project uses docs as its root, installs only Python dependencies and emits site. Both consume deterministic exports generated from packages/brand; the API Worker has its own Wrangler configuration and lifecycle. When intentionally working on the Worker, use npm run dev --workspace=@cwtch/api locally and npm run deploy --workspace=@cwtch/api only with deployment authority and real account setup. Neither command is part of the Pages builds.