63 lines
2.0 KiB
Markdown
63 lines
2.0 KiB
Markdown
# CLAUDE.md
|
|
|
|
## Project Overview
|
|
|
|
**Ka-Note** — a local-first meeting/topic management PWA with offline support and sync. Rebuilt from the RollingAgenda prototype. The HTML prototype (`rolling_agenda_proto.html`) remains the design reference.
|
|
|
|
## Tech Stack
|
|
|
|
- **Frontend**: SvelteKit (SPA mode, adapter-static) + Tailwind CSS + Dexie.js (IndexedDB)
|
|
- **Backend**: Hono (Node.js) + SQLite + Drizzle ORM
|
|
- **Monorepo**: npm workspaces (`ka-note/shared`, `ka-note/client`, `ka-note/server`)
|
|
|
|
## Build & Run
|
|
|
|
```bash
|
|
# Install dependencies (from ka-note/)
|
|
npm install
|
|
|
|
# Dev mode (client + server parallel)
|
|
npm run dev
|
|
|
|
# Client only (http://localhost:5173)
|
|
npm run dev -w client
|
|
|
|
# Server only (http://localhost:3001)
|
|
npm run dev -w server
|
|
|
|
# Build all
|
|
npm run build
|
|
|
|
# Docker
|
|
docker-compose -f ka-note/docker-compose.yml up --build
|
|
```
|
|
|
|
## Architecture
|
|
|
|
```
|
|
ka-note/
|
|
├── shared/ — Domain types (SyncEntity, AgendaContext, Topic, HistoryEntry, Rating)
|
|
├── client/ — SvelteKit SPA (Tailwind, Dexie.js for local DB)
|
|
│ └── src/lib/
|
|
│ ├── components/ — Svelte components
|
|
│ ├── db/ — Dexie schema, repositories, seed data
|
|
│ ├── stores/ — Svelte stores wrapping Dexie liveQuery
|
|
│ ├── utils/ — Tree parser, extractors
|
|
│ └── actions/ — Svelte actions (drag-drop)
|
|
├── server/ — Hono API (REST + WebSocket sync)
|
|
└── docker-compose.yml
|
|
```
|
|
|
|
## Key Concepts
|
|
|
|
- **Soft-delete everywhere** — `deletedAt` field, never hard-delete
|
|
- **`daily-log`** — hardcoded default context (always meeting mode)
|
|
- **`processedInCurrentSession`** — session-only state (sessionStorage), not synced
|
|
- **`isCollapsed`** — UI-only state (Svelte store), not persisted
|
|
- **Inline tags**: `-> NAME` (assignment), `@P:PROJECT` (project ref), `@NAME` (person mention)
|
|
|
|
## Other Files
|
|
|
|
- `vorlagen/` — UpNote markdown templates (design reference)
|
|
- `rolling_agenda_proto.html` — full HTML prototype (1135 lines, all features)
|