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
Рекомендуемые секции
- Название проекта — заголовок
- Назначение — краткое описание проекта
- Технологический стек — таблица с технологиями и версиями
- MCP Tools — какие MCP использовать и когда
- Структура проекта — дерево директорий с пояснениями
- Ключевые правила — главные архитектурные ограничения
- Команды разработки — pnpm install, pnpm dev, и т.д.
- Правила для агента — чек-лист что делать/не делать
Шаблон 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.