diff --git a/AGENTS.md b/AGENTS.md index d4673d8..0923d39 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -38,6 +38,12 @@ the spec_; do not port legacy code. - **Modals** go through a registry + coordinator + shell, not ad-hoc rendering. - **CSS Modules + design tokens** (`styles/tokens.css`); themes flip `[data-theme]`. - **No shared library with Syto** — patterns are adapted, never imported. +- **The app is served at `/app/`; `/` is a standalone marketing landing** (`src/landing/`). + Multi-page Vite build — `index.html` → the landing, `app/index.html` → the app (hash + view-state routing is unchanged by the base path). The landing reuses `src/core` and the + `chart-renderer` service only — never stores, orchestration, modals, or components — and + lazy-loads Vega, so `/` stays light. The PWA service worker and manifest are scoped to + `/app/`, leaving the landing uncontrolled and always-fresh. See [`docs/architecture/`](docs/architecture/00-overview.md) for the patterns behind each layer (state, persistence, modals, routing, rendering, inference, relationships) and @@ -49,8 +55,11 @@ external repo is needed to work from them. ## Directory Structure ``` +index.html # Landing entry (served at /) +app/index.html # App entry (served at /app/) src/ -├── main.tsx # App entry (font wiring, startup, render) +├── main.tsx # App bootstrap (font wiring, startup, render) +├── landing/ # Marketing landing at / — standalone page; reuses core + chart-renderer ├── core/ # Portable spec engine (no browser/React/Monaco) ├── app/ │ ├── components/ # React UI (CSS Modules co-located) diff --git a/app/index.html b/app/index.html new file mode 100644 index 0000000..2ca84bb --- /dev/null +++ b/app/index.html @@ -0,0 +1,15 @@ + + +
+ + + + + +