diff --git a/CLAUDE.md b/CLAUDE.md index b962e0e..89fbe57 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -53,7 +53,11 @@ Communication between daemon and worker is **file + signal only** (`job.json`, ` | `src/api/server.ts` | Fastify REST + WebSocket server | | `src/mcp/` | MCP server tools exposed to Claude Code sessions | | `src/sync/` | One-way sync from legacy `todo.json` files | -| `web/` | Dashboard SPA (multi-project, real-time WS, inline approve/reject) | +| `app/` | **Active console (the dashboard users actually use)** — React SPA on `:4519` (vite dev; proxies `/api`+`/ws` to `:4517`). Data & wiring live here: `src/api.js`, `src/app.jsx`, `src/adapt.js`. | +| `design/ui_kits/console/` | **Active console UI** — React UI components, the single source of truth for the console; `app/` loads them via vite. **Frontend UI changes go here; data/actions go in `app/src/`.** Strings go through `i18n.js` (5 langs). | +| `web/` | **⚠️ Legacy / deprecated** — old vanilla-JS dashboard served directly by the daemon. Superseded by the `app/` + `design/ui_kits/console/` React console. **Do NOT add new features, config entries, or UI here** — build them in `app/` + `design/ui_kits/console/`. | + +> **Frontend rule of thumb:** the live console is **`design/ui_kits/console/` (UI) + `app/src/` (data/wiring)** on `:4519`. `web/` is legacy — never target it for new work. ### Task Lifecycle