diff --git a/AGENTS.md b/AGENTS.md index 8bd0e39..2539ae0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -3,3 +3,18 @@ This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` before writing any code. Heed deprecation notices. + +## Sub-Dokumentation + +Jeder Ordner hat eine eigene CLAUDE.md als Single Source of Truth. Vor Änderungen immer das zugehörige Dok lesen. + +| Bereich | Dok | +|---------|-----| +| Convex Backend | [convex/CLAUDE.md](convex/CLAUDE.md) | +| Canvas-Engine | [components/canvas/CLAUDE.md](components/canvas/CLAUDE.md) | +| Design System (ShadCN) | [components/ui/CLAUDE.md](components/ui/CLAUDE.md) | +| Billing & Credits UI | [components/billing/CLAUDE.md](components/billing/CLAUDE.md) | +| Dashboard | [components/dashboard/CLAUDE.md](components/dashboard/CLAUDE.md) | +| Next.js Routing | [app/CLAUDE.md](app/CLAUDE.md) | +| Utilities & Shared Logic | [lib/CLAUDE.md](lib/CLAUDE.md) | +| Custom Hooks | [hooks/CLAUDE.md](hooks/CLAUDE.md) | diff --git a/CLAUDE.md b/CLAUDE.md index ddce6ed..cb3e254 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,5 +1,22 @@ @AGENTS.md +## Sub-Dokumentation + +Jeder Ordner hat eine eigene CLAUDE.md als Single Source of Truth: + +| Bereich | Dok | +|---------|-----| +| Convex Backend | [convex/CLAUDE.md](convex/CLAUDE.md) | +| Canvas-Engine | [components/canvas/CLAUDE.md](components/canvas/CLAUDE.md) | +| Design System (ShadCN) | [components/ui/CLAUDE.md](components/ui/CLAUDE.md) | +| Billing & Credits UI | [components/billing/CLAUDE.md](components/billing/CLAUDE.md) | +| Dashboard | [components/dashboard/CLAUDE.md](components/dashboard/CLAUDE.md) | +| Next.js Routing | [app/CLAUDE.md](app/CLAUDE.md) | +| Utilities & Shared Logic | [lib/CLAUDE.md](lib/CLAUDE.md) | +| Custom Hooks | [hooks/CLAUDE.md](hooks/CLAUDE.md) | + +--- + ## Design Context ### Users diff --git a/app/CLAUDE.md b/app/CLAUDE.md new file mode 100644 index 0000000..67700b7 --- /dev/null +++ b/app/CLAUDE.md @@ -0,0 +1,91 @@ +# app/ — Next.js Routing & Layouts + +Next.js 16 App Router. Vor Änderungen: Relevante Guides in `node_modules/next/dist/docs/` lesen — Breaking Changes gegenüber früheren Versionen möglich. + +--- + +## Route-Struktur + +``` +app/ +├── layout.tsx ← Root Layout (Fonts, Providers, Sentry, Analytics) +├── page.tsx ← Landing / Redirect +├── globals.css ← Tailwind v4 + Design-Tokens +├── (app)/ ← Authentifizierte App-Routen +│ ├── canvas/[canvasId]/ ← Canvas-Editor +│ │ └── page.tsx +│ └── settings/ +│ └── billing/ ← Billing-Einstellungen +├── auth/ ← Auth-Routen (Better Auth) +│ ├── [path]/ ← Catch-all für Better Auth Flows +│ ├── sign-in/ +│ └── sign-up/ +├── api/ +│ ├── auth/[...all]/ ← Better Auth API Handler +│ └── pexels-video/ ← Pexels Video Proxy +└── dashboard/ ← Dashboard nach Login +``` + +--- + +## Root Layout (`layout.tsx`) + +Server Component. Initialisiert: + +1. **Font:** `Manrope` via `next/font/google` → CSS-Variable `--font-sans` +2. **Auth:** `getToken()` + `getAuthUser()` für SSR-seitigen Convex-Token +3. **Sentry:** `Sentry.setUser()` direkt im Layout (serverseitig) +4. **Analytics:** Rybbit-Script via `