Files
orbit-academy-shadcn/AGENTS.md

5.1 KiB
Raw Blame History

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.tsxSiteShell (header + nav + footer, обёртка всех страниц).
  • src/widgets/program-card.tsxProgramCard (Home, Programs).
  • src/widgets/student-work-card.tsxStudentWorkCard (Home, Outcomes).
  • src/shared/ui/loud-title.tsxLoudTitle (заголовочная секция внутренних страниц).
  • src/features/admission-board/ui/admission-board.tsx — mock admissions board.

Одноразовые блоки колоцированы со своей страницей (напр. HeroStudio/OutcomeStrip в home-page.tsx, MentorRoster в programs-page.tsx).