feat: split big file and update agents.md
This commit is contained in:
49
AGENTS.md
49
AGENTS.md
@@ -5,8 +5,55 @@ Orbit Academy — cohort-based education шаблон: сохраняй neo-brut
|
||||
## Project Specifics
|
||||
|
||||
- Программы, модули, расписание, outcomes, student work, mentors, admissions и community лежат в `src/entities/site-content.ts`.
|
||||
- `src/app` — только route wrappers; композиция страниц находится в `src/widgets/template-ui.tsx`.
|
||||
- `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`).
|
||||
|
||||
Reference in New Issue
Block a user