@@ -140,30 +140,50 @@ Auto-save: debounce 500ms on editor change → write to Supabase
140140
141141## Component Map
142142
143- Current state (infrastructure only — no product features yet):
144-
145143```
146144src/
147145├── app/ # Next.js App Router
148- │ ├── layout.tsx # Root layout (currently Geist fonts — will switch to JetBrains Mono)
146+ │ ├── layout.tsx # Root layout (JetBrains Mono font, TooltipProvider )
149147│ ├── page.tsx # Landing page
150148│ ├── manifest.ts # PWA manifest (name, icons, display mode)
151149│ ├── global-error.tsx # Sentry error boundary
150+ │ ├── globals.css # Tailwind v4 theme — dark-only oklch tokens, --radius: 0
151+ │ ├── (auth)/ # Unauthenticated route group
152+ │ │ ├── layout.tsx # Centered card layout for auth pages
153+ │ │ ├── sign-in/page.tsx # /sign-in — email/password form
154+ │ │ └── sign-up/page.tsx # /sign-up — display name + email/password form
155+ │ ├── (app)/ # Authenticated route group
156+ │ │ ├── layout.tsx # Auth guard (redirects to /sign-in if no session), sign-out button
157+ │ │ └── [workspaceSlug]/
158+ │ │ └── page.tsx # /[workspaceSlug] — workspace home (placeholder)
152159│ └── api/
153160│ └── health/route.ts # Health check endpoint (DB connectivity)
161+ ├── components/
162+ │ ├── auth/
163+ │ │ ├── oauth-buttons.tsx # GitHub + Google buttons (disabled, "coming soon" tooltip)
164+ │ │ └── sign-out-button.tsx # Sign-out button (clears session, redirects to /sign-in)
165+ │ └── ui/ # shadcn/ui components (base-nova style, base-ui primitives)
166+ │ ├── button.tsx
167+ │ ├── card.tsx
168+ │ ├── input.tsx
169+ │ ├── label.tsx
170+ │ └── tooltip.tsx
154171├── lib/
172+ │ ├── utils.ts # cn() utility (clsx + tailwind-merge)
173+ │ ├── types.ts # Database entity types
155174│ └── supabase/
156175│ ├── client.ts # Browser client (createBrowserClient)
157176│ ├── server.ts # Server component client (createServerClient + cookies)
158- │ └── proxy.ts # Session refresh logic (updateSession)
177+ │ └── proxy.ts # Session refresh + auth redirect logic (updateSession)
159178├── proxy.ts # Root proxy — calls updateSession, skips static/health routes
160179└── instrumentation.ts # Sentry server/edge init (register + onRequestError)
161180
162181Root config files:
163182├── instrumentation-client.ts # Sentry client init (replay, route transitions)
164183├── sentry.server.config.ts # Sentry server SDK config
165184├── sentry.edge.config.ts # Sentry edge SDK config
166- └── sentry.client.config.ts # Sentry client SDK config
185+ ├── sentry.client.config.ts # Sentry client SDK config
186+ └── components.json # shadcn/ui config (base-nova style, Tailwind v4)
167187```
168188
169189Planned structure (added as features are built):
0 commit comments