docs: map existing codebase

This commit is contained in:
2026-03-16 11:19:29 +01:00
parent 65d9842831
commit 45e0f779a4
7 changed files with 1609 additions and 0 deletions

118
.planning/codebase/STACK.md Normal file
View File

@@ -0,0 +1,118 @@
# Technology Stack
**Analysis Date:** 2026-03-16
## Languages
**Primary:**
- TypeScript ~5.9.3 - Full codebase type safety
**Secondary:**
- JavaScript (ES2023) - Configuration and utilities
## Runtime
**Environment:**
- Browser (React 19 SPA)
- Node.js runtime for build tooling
**Package Manager:**
- Bun - Package and dependency management
- Lockfile: `bun.lock` (present)
## Frameworks
**Core:**
- React 19.2.4 - UI component framework
- React Router DOM 7.13.1 - Client-side routing
**UI & Components:**
- Radix UI 1.4.3 - Accessible component primitives
- Tailwind CSS 4.2.1 - Utility-first CSS styling
- Lucide React 0.577.0 - Icon library
- Sonner 2.0.7 - Toast notification system
- next-themes 0.4.6 - Dark mode and theme management
**State Management:**
- TanStack React Query 5.90.21 - Server state management and data fetching
**Internationalization:**
- i18next 25.8.18 - i18n framework
- react-i18next 16.5.8 - React bindings for i18next
**Testing:**
- Not detected
**Build/Dev:**
- Vite 8.0.0 - Build tool and dev server
- @vitejs/plugin-react 6.0.0 - React Fast Refresh support
- @tailwindcss/vite 4.2.1 - Tailwind CSS Vite plugin
- Tailwind Merge 3.5.0 - CSS class utility merging
- Class Variance Authority 0.7.1 - CSS variant composition
- clsx 2.1.1 - Conditional CSS class binding
**Linting & Code Quality:**
- ESLint 9.39.4 - JavaScript/TypeScript linting
- @eslint/js 9.39.4 - ESLint JS config
- typescript-eslint 8.56.1 - TypeScript linting rules
- eslint-plugin-react-hooks 7.0.1 - React Hooks best practices
- eslint-plugin-react-refresh 0.5.2 - React Fast Refresh plugin
## Key Dependencies
**Critical:**
- @supabase/supabase-js 2.99.1 - Backend API and authentication client
**Infrastructure:**
- @types/node 24.12.0 - TypeScript Node.js type definitions
- @types/react 19.2.14 - React TypeScript types
- @types/react-dom 19.2.3 - React DOM TypeScript types
- globals 17.4.0 - Global scope definitions for ESLint
## Configuration
**Environment:**
- Vite environment variables with `VITE_` prefix
- Required env vars: `VITE_SUPABASE_URL`, `VITE_SUPABASE_ANON_KEY`
- Configuration via `.env` file (example provided in `.env.example`)
**Build:**
- Vite config: `vite.config.ts`
- React plugin enabled
- Tailwind CSS via @tailwindcss/vite
- Path alias: `@/` resolves to `./src/`
- TypeScript config: `tsconfig.json` (references `tsconfig.app.json` and `tsconfig.node.json`)
- Target: ES2023
- Strict mode enabled
- No unused locals/parameters enforcement
- ESLint config: `eslint.config.js`
- Flat config format
- Recommended configs: JS, TypeScript, React Hooks, React Refresh
- Browser globals enabled
## TypeScript Configuration
**tsconfig.app.json:**
- Target: ES2023
- Module: ESNext
- Strict mode: Enabled
- JSX: react-jsx
- No emit: True (code generation disabled)
- Path alias: `@/*``./src/*`
- Verbatim module syntax enabled
## Platform Requirements
**Development:**
- Node.js/Bun runtime
- Modern browser with ES2023 support
- Recommended: 18+ GB disk for `node_modules`
**Production:**
- SPA deployment (static hosting)
- Supabase PostgreSQL backend access
- Modern browser JavaScript support (ES2023)
---
*Stack analysis: 2026-03-16*