From f70a01d04d939d41ee675c4067e34d2808a7f893 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 9 Feb 2026 10:53:38 +0000 Subject: Simplify Architecture section to reference docs/dev/architecture.md https://claude.ai/code/session_013M6WrK2CDSC3JJLnnhio6e --- CLAUDE.md | 37 +------------------------------------ 1 file changed, 1 insertion(+), 36 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 5f3f3f5..25c313f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -21,42 +21,7 @@ pnpm db:push # Push schema changes to DB ## Architecture -- **Backend**: Hono on Node.js 22 (built with esbuild) — `src/server/` -- **Frontend**: React 19 + Vite — `src/client/` -- **Shared**: Common utilities — `src/shared/` -- **Database**: PostgreSQL with Drizzle ORM — schema in `src/server/db/` -- **Migrations**: SQL files in `drizzle/` - -### Backend Structure (`src/server/`) - -Repository pattern with dependency injection. Routes → Services → Repositories → Drizzle ORM. - -- `routes/` — API endpoint handlers -- `repositories/` — Data access layer -- `middleware/` — Auth, CORS, error handling, rate limiting -- `schemas/` — Zod validation schemas -- `services/` — Business logic -- `types/` — TypeScript interfaces (includes repository interfaces) -- `db/schema.ts` — Drizzle database schema - -### Frontend Structure (`src/client/`) - -- `pages/` — Route-level page components -- `components/` — Reusable React components -- `atoms/` — Jotai state management atoms -- `api/` — API client -- `db/` — Dexie.js IndexedDB schema (offline storage) -- `sync/` — Sync engine (client ↔ server) -- `utils/` — Utilities (CSV parser, template renderer) - -### Key Libraries - -- **State**: Jotai (atoms suffixed with `Atom`) -- **Routing**: Wouter -- **Styling**: Tailwind CSS v4 -- **Sync**: Automerge CRDT for conflict-free offline sync -- **Scheduling**: ts-fsrs (spaced repetition algorithm) -- **Validation**: Zod +See [docs/dev/architecture.md](docs/dev/architecture.md) for details. ## Code Style -- cgit v1.3-1-g0d28