60 lines
5.1 KiB
Markdown
60 lines
5.1 KiB
Markdown
# AGENTS.md
|
||
|
||
Orbit Academy — cohort-based education шаблон: сохраняй neo-brutalist cream/ink/acid стиль, weekly artifacts, critique board, менторов, расписание потоков, admissions flow и alumni community.
|
||
|
||
## Project Specifics
|
||
|
||
- Программы, модули, расписание, outcomes, student work, mentors, admissions и community лежат в `src/entities/site-content.ts`.
|
||
- `src/app` — только route wrappers; композиция каждой страницы живёт в отдельном widget (`src/widgets/<page>-page.tsx`). См. File Map.
|
||
- Mock-интеракции поступления держи в `src/features/*/ui`; не добавляй реальные формы, auth, LMS или платежи без запроса.
|
||
- Не превращай страницы в обычный SaaS-лендинг или курс с лекциями: каждая страница должна показывать образовательный процесс, артефакт, поток, critique или результат.
|
||
- Громкий brutalist стиль должен поддерживать доверие: добавляй proof, менторов, работы студентов и конкретные deliverables, а не декоративный шум.
|
||
- Проверка после правок: `pnpm lint` и `pnpm build`.
|
||
|
||
## Design System
|
||
|
||
Источник токенов — `src/app/globals.css` (`@theme` + `:root`/`.dark`). Шрифт — Inter (`--font-orbit`), один гарнитур на sans и mono. Работай через семантические классы Tailwind (`bg-primary`, `text-foreground`, `border-foreground`), не хардкодь hex/oklch.
|
||
|
||
Личность: **neo-brutalist «cream / ink / acid»** — тёплый кремовый фон, near-black «ink» как граница и текст, кислотно-зелёный secondary как сигнальный акцент, глубокий indigo primary, оранжевый accent для редких всплесков.
|
||
|
||
| Роль | Light | Характер |
|
||
|---|---|---|
|
||
| `background` | тёплый кремовый | основной фон страниц |
|
||
| `foreground` | near-black ink | текст + **границы** (`border-2 border-foreground`) |
|
||
| `primary` | глубокий indigo | заголовочные плашки, активные строки |
|
||
| `secondary` | кислотный лайм | бейджи, сигнальные акценты, hover |
|
||
| `accent` | оранжевый | редкие точечные всплески |
|
||
| `card` | почти белый | карточки на кремовом фоне |
|
||
|
||
Узнаваемые приёмы (держи их, это и есть «лицо» проекта):
|
||
- **Жёсткие углы:** `--radius` = 0.125rem; большинство элементов — `rounded-none`.
|
||
- **Толстые границы:** `border-2 border-foreground` повсюду; это структура, а не декор.
|
||
- **Hard offset shadow:** `shadow-[8px_8px_0_var(--foreground)]` (карточки, hover усиливает до `12px`).
|
||
- **Громкая типографика:** `font-black uppercase`, очень плотный `leading` (`leading-none`/`leading-[0.9]`), крупные размеры (до `text-8xl`).
|
||
- **Утилитарные классы:** `.orbit-board` — сетка-миллиметровка для «board»-секций; `.marker-highlight` — маркерное подчёркивание лаймом.
|
||
|
||
Do / Don't:
|
||
- **Do:** расширяй существующий язык — сетки, плашки, board-эстетику; держи контент-first (артефакт, proof, метрика).
|
||
- **Don't:** мягкие тени, скруглённые карточки, пастель, generic-SaaS hero с градиентом — это ломает личность шаблона.
|
||
|
||
## File Map
|
||
|
||
| Route | Widget |
|
||
|---|---|
|
||
| `/` | `src/widgets/home-page.tsx` (`HomePage`) |
|
||
| `/programs` | `src/widgets/programs-page.tsx` (`ProgramsPage`) |
|
||
| `/programs/product-management` | `src/widgets/program-detail-page.tsx` (`ProgramDetailPage`) |
|
||
| `/schedule` | `src/widgets/schedule-page.tsx` (`SchedulePage`) |
|
||
| `/outcomes` | `src/widgets/outcomes-page.tsx` (`OutcomesPage`) |
|
||
| `/admissions` | `src/widgets/admissions-page.tsx` (`AdmissionsPage`) |
|
||
| `/community` | `src/widgets/community-page.tsx` (`CommunityPage`) |
|
||
|
||
Переиспользуемые блоки:
|
||
- `src/widgets/site-shell.tsx` — `SiteShell` (header + nav + footer, обёртка всех страниц).
|
||
- `src/widgets/program-card.tsx` — `ProgramCard` (Home, Programs).
|
||
- `src/widgets/student-work-card.tsx` — `StudentWorkCard` (Home, Outcomes).
|
||
- `src/shared/ui/loud-title.tsx` — `LoudTitle` (заголовочная секция внутренних страниц).
|
||
- `src/features/admission-board/ui/admission-board.tsx` — mock admissions board.
|
||
|
||
Одноразовые блоки колоцированы со своей страницей (напр. `HeroStudio`/`OutcomeStrip` в `home-page.tsx`, `MentorRoster` в `programs-page.tsx`).
|