Agent Guide

CLAUDE.md

Назначение и структура файла CLAUDE.md для Nuxt-проектов.

CLAUDE.md

Назначение

CLAUDE.md — файл инструкций для AI-агента, размещаемый всегда в корне проекта. Он служит входной точкой для агента при работе с проектом.

CLAUDE.md, .claude/ и .claude-devtools/не версионируются в git — они синхронизируются через oro project upload/restore в S3. Эти пути добавлены в .gitignore.

Зачем нужен CLAUDE.md

ПроблемаРешение через CLAUDE.md
Агент не знает стек проектаСекция "Технологический стек"
Агент не знает структуру папокСекция "Структура проекта"
Агент не знает какие MCP использоватьСекция "MCP Tools"
Агент пишет код не по стандартамСсылки на стандарты и правила
Агент не знает команды проектаСекция "Команды разработки"

Когда агент читает CLAUDE.md

  • При старте новой сессии
  • При переключении на другой проект
  • Когда нужно вспомнить правила проекта

Структура CLAUDE.md

Рекомендуемые секции

  1. Название проекта — заголовок
  2. Назначение — краткое описание проекта
  3. Технологический стек — таблица с технологиями и версиями
  4. MCP Tools — какие MCP использовать и когда
  5. Структура проекта — дерево директорий с пояснениями
  6. Ключевые правила — главные архитектурные ограничения
  7. Команды разработки — pnpm install, pnpm dev, и т.д.
  8. Правила для агента — чек-лист что делать/не делать

Шаблон CLAUDE.md для Nuxt-проекта

Готовый шаблон — скопируй и адаптируй под свой проект:

# [Название проекта]

## Назначение

[Краткое описание проекта и его бизнес-цели]

## Технологический стек

| Слой | Технология | Версия |
|------|------------|--------|
| Framework | Nuxt 4 (SPA mode) | ^4.x |
| UI | Nuxt UI 4 | ^4.x |
| State | Pinia (Setup Store) | latest |
| Styling | Tailwind CSS | latest |
| ORM | Prisma 7 | ^7.x |
| Real-time | Socket.io | latest |
| Language | TypeScript (strict) | latest |
| Package Manager | pnpm | latest |

---

## MCP Tools — Когда использовать

**ВАЖНО:** Всегда используй MCP для получения актуального API. Не полагайся только на свои знания — API может отличаться.

### Порядок обращения к MCP

1. **oro-playbook** — архитектура, стандарты, паттерны
2. **nuxt-remote** — Nuxt API (pages, composables, server)
3. **nuxt-ui-remote** — UI компоненты (формы, таблицы, кнопки)
4. **prisma** — ORM (схема, запросы, миграции)

> **Socket.io:** MCP нет. Используй `oro-playbook` (стандарты) + WebSearch (актуальная дока).

### Матрица MCP

| Задача | MCP | Что запросить |
|--------|-----|---------------|
| Создать страницу | nuxt-remote | definePageMeta, useRoute |
| Создать форму | nuxt-ui-remote | UForm, UFormField, validation |
| Создать API endpoint | nuxt-remote | defineEventHandler, readBody |
| Добавить модель БД | prisma | schema syntax, relations |
| Добавить real-time | oro-playbook | standard-socket-io, ADR-013 |
| Выбрать паттерн | oro-playbook | стандарты, архитектура |

---

## Структура проекта

```text
app/
├── components/     # Vue компоненты
├── composables/    # Логика + состояние
├── stores/         # Pinia (только global state)
├── pages/          # Страницы
├── layouts/        # Layouts
└── utils/          # Утилиты без состояния

server/
├── api/            # REST endpoints
├── plugins/        # Server plugins
├── middleware/     # Server middleware
└── utils/          # prisma.ts, auth.ts

shared/types/         # Shared типы
prisma/schema.prisma  # Схема БД
```

---

## Ключевые правила

### Data Flow

```text
Page → Composable → API Client → Server API → Prisma → DB
Store ← только global state (user, settings, sidebar)
```

### Где размещать код

| Что создаю | Куда кладу |
|------------|------------|
| Страница | app/pages/ |
| UI компонент | app/components/ |
| Fetch + state | app/composables/ |
| Global state | app/stores/ |
| Утилита | app/utils/ |
| API endpoint | server/api/ |

### Анти-паттерны (НЕ делать)

- ❌ Данные сущностей в Store → используй composables
- ❌ API вызовы в компонентах → используй composables
- ❌ Бизнес-логика на клиенте → только на сервере
- ❌ Прямой $fetch → используй useApi()
- ❌ Дублировать типы → импортируй из Prisma

---

## Команды разработки

```bash
pnpm install              # Установка
pnpm dev                  # Dev сервер
pnpm build                # Production сборка
pnpm typecheck            # Проверка типов
pnpm lint                 # Линтинг
pnpm test                 # Тесты

# Prisma
npx prisma generate       # Генерация клиента
npx prisma migrate dev    # Миграция
npx prisma studio         # GUI для БД
```

---

## Правила для агента

1. **Перед кодом — MCP** → проверь актуальный API
2. **Следуй стандартам** → /playbook/standards/
3. **Смотри аналоги** → ищи похожие файлы в проекте
4. **TypeScript strict** → никаких any
5. **Composition API** → только `<script setup lang="ts">`
6. **Tailwind only** → никаких `<style>` блоков
7. **Валидация** → Zod на клиенте и сервере

---

## Sub-agents — Процесс работы

Ты — Tech Lead агент. Декомпозируй задачу и делегируй суб-агентам.

### Доступные суб-агенты

**Backend:**
- `backend-analyst` — анализ ТЗ, спека, переиспользование
- `backend-developer` — реализация + документация
- `backend-testing` — тесты по спеке
- `backend-reviewer` — code review
- `backend-integrator` — установка инструментов

**Frontend:**
- `frontend-analyst` — анализ UI, декомпозиция компонентов
- `frontend-developer` — реализация UI
- `frontend-testing` — тесты компонентов
- `frontend-reviewer` — code review
- `frontend-integrator` — установка инструментов
- `frontend-qa` — UI/UX + консоль + network

### Процесс

```text
1. Получить бизнес-задачу
2. Декомпозировать на backend/frontend
3. Backend Flow (если нужен):
       analyst → [integrator?] → developer ─┬─► reviewer
                                testing ────┘
       ▼ артефакты (API, типы)
4. Frontend Flow (если нужен):
       analyst → [integrator?] → developer ─┬─► reviewer → qa
                                testing ────┘
```

### Важно

- **Backend первый** — если нужен backend, он идёт до frontend
- **Developer + Testing параллельно** — после спеки аналитика (TDD)
- **Integrator по требованию** — после analyst, если нужен новый инструмент
- **Артефакты передаются** — frontend получает готовые API/типы от backend
- **QA последний** — frontend-qa проверяет в браузере
- **Каждый агент знает свои стандарты** — см. [Sub-agents](/agent-guide/agents)

Таблица Installed Skills

Каждый CLAUDE.md обязательно содержит таблицу установленных навыков — это даёт агенту понимание своих возможностей:

## Installed Skills

| Skill | Source | Purpose |
|-------|--------|---------|
| nuxt | antfu/skills | Nuxt framework expertise |
| nuxt-content | onmax/nuxt-skills | Content v3 collections, MDC |
| nuxt-ui | onmax/nuxt-skills | @nuxt/ui v4 components |
| documentation-writer | github/awesome-copilot | Diataxis documentation writing |
| frontend-design | anthropics/skills | Production-grade UI design |

Таблица обновляется при установке новых skills через /oro-skills:find-skills. Skills — внешние экспертные знания, дополняющие MCP и playbook.

Размещение файла

CLAUDE.md всегда в корне проекта (./CLAUDE.md). Claude Code автоматически находит и читает его при старте сессии.

Не версионируется в git — синхронизируется через oro project upload/restore.