Полная спецификация: docs/SPEC.md. Читай её перед архитектурными решениями.
Журнал отклонений от спеки: docs/DECISIONS.md.
Next.js 15 App Router, TypeScript strict, Tailwind, shadcn/ui, Supabase (Postgres + RLS).
school_id. Никогда не хардкодь школу.{"ru":..,"tg":..,"en":..}. Никогда не text.bigint в минорных единицах + отдельное поле currency. Никогда не float.lib/domain/ — чистые функции без React и без Supabase-клиента.supabase/migrations. Никаких правок через UI Supabase.timestamptz. Отображение конвертируется в schools.timezone.pnpm dev
pnpm typecheck
pnpm test
supabase db reset
supabase gen types typescript --local > lib/types/database.ts
Русский язык в UI. Комментарии в коде на русском. Тёмная тема, чёрный + золото (айдентика Kungfuman).
docs/SPEC.md, Часть II).pnpm typecheck — не коммитим.docs/DECISIONS.md (дата, что, почему).lib/domain/ + тесты), потом UI поверх него.