Repository Structure
Workspace Layout
Section titled “Workspace Layout”apps/├── site/ # Public marketing experience (Astro 6 beta)└── docs/ # Internal documentation (Astro 5 + Starlight)Supporting files:
pnpm-workspace.yaml— Identifies workspace packages underapps/*.docker-compose.yml— Defines thedevservice for local workflows.Dockerfile— Node 20 base image with pnpm prepared; includes client-side D2 support via WASM.pnpm-lock.yaml— Shared lockfile; do not hand-edit.
Ownership
Section titled “Ownership”| Area | Owner | Notes |
|---|---|---|
| apps/site | Marketing engineering | Public content, Astro 6 beta adoption. |
| apps/docs | Platform engineering | Internal-only docs, ADRs, security. |
| Dockerfile / docker-compose | Platform engineering | Must stay minimal; no database services today. |
| scripts | Shared | Keep Node-based automation self-contained and documented. |
Conventions
Section titled “Conventions”- Branch names follow
<scope>/<summary>(e.g.,chore/internal-architecture-docs). - Commit messages use imperative mood and reference ADRs when applying architectural changes.
- Run
pnpm installandpnpm build:<app>inside Docker to guarantee reproducibility. - Document every new directory structure or automation change in this file.
Future Expansion
Section titled “Future Expansion”- Add a shared component library when both apps require consistent UI tokens.
- Introduce dedicated directories for Cloudflare Workers when ADRs approve dynamic behaviour.