EE-VibeCoding

Шаблоны файлов

Готовые файлы для вайбкод-проекта: заполните скобки, положите в репозиторий и работайте с агентами по единым правилам.

AGENTS.md — правила для ИИ-агента в проекте

Когда использовать: Положите в корень проекта. Агент (Claude Code, Codex, Cursor) читает его и работает по вашим правилам.

# AGENTS.md — правила для ИИ-агентов в этом проекте

## Стек и архитектура
- Фреймворк: [напр. Python + FastAPI, фронтенд: React/Vite]
- Ключевые папки: [перечислите и напишите назначение каждой]
- База данных: [напр. Postgres через ORM], миграции в папке [путь]

## Стиль кода
- Язык сообщений UI: [русский/английский]
- Именование: [snake_case / camelCase], без сокращений
- Не добавляй новые зависимости без согласования
- Ошибки: показывать пользователю понятный текст, без стек-трейсов наружу

## Как работать
1. Планируй перед правками: покажи список файлов и изменений до кода
2. Двигайся маленькими шагами (1-2 файла), после каждого шага — краткий отчет
3. Не трогай код вне задачи
4. После изменения: проверь запуск и покажи способ проверки

## Запрещено
- Хардкодить ключи и пароли (только переменные окружения в .env)
- Переписывать соседние модули «для красоты»
- Добавлять комментарии вида «// здесь магия»

## Данные
- Источник правды: [схемы БД/миграции]
- Поля, которые нельзя удалять: [перечислить, если важно]

PRD — описание MVP на одну страницу

Когда использовать: Заполните вместо [скобок] и сохраните в docs/PRD.md. Контекст для любого агента и для вас.

# PRD: [Название продукта]

## 1. Цель (одно предложение)
[Для кого и какую проблему решает]

## 2. Ключевая метрика (одна)
[Напр. % пользователей, дошедших до регистрации]

## 3. Функции MVP (3-5, у каждой критерий готовности)
1. [Функция] — готово, когда [как проверить]
2. [Функция] — готово, когда [как проверить]
3. [Функция] — готово, когда [как проверить]

## 4. Пользовательские сценарии
- Счастливый путь: [шаги]
- Путь с ошибкой: [что происходит при сбое]
- Крайний случай: [что при невалидных данных / без авторизации]

## 5. Вне скоупа (чтобы не расползалось)
- [Что сознательно НЕ делаем в первой версии]

## 6. Вопросы до старта
- [Что нужно решить до начала разработки]

SECURITY_CHECKLIST.md — проверка перед запуском

Когда использовать: Прогнать перед публикацией. Отдайте файл агенту промптом «Security-аудит по этому чек-листу».

# Чек-лист безопасности перед запуском

## Секреты
- [ ] Ключи/пароли/токены отсутствуют в коде и git-истории
- [ ] Все секреты в переменных окружения (.env, не в репозитории)
- [ ] .env добавлен в .gitignore

## Авторизация и доступ
- [ ] Пользователь не может открыть чужие данные заменой ID (IDOR)
- [ ] Роли/права проверяются на сервере, а не только в интерфейсе
- [ ] RLS включён (для Postgres/Supabase)

## Ввод и выходные данные
- [ ] Валидация всех полей: тип, длина, диапазон
- [ ] Нет XSS: пользовательские данные экранируются при выводе
- [ ] Нет SQL-инъекций: запросы параметризованы

## Зависимости
- [ ] npm audit / pip-audit чист (или риски зафиксированы)
- [ ] Версии пакетов зафиксированы (lock-файлы)

## Доступность и расходы
- [ ] Rate limiting на публичных эндпоинтах
- [ ] Лимит расходов на внешние API (LLM и др.)

## Внешний контур
- [ ] Заголовки: CSP, HSTS, X-Content-Type-Options
- [ ] HTTPS на проде, нет дефолтных паролей
- [ ] Ошибки не раскрывают внутренности (стек-трейсы скрыты)

## Процесс
- [ ] Есть бэкап данных и план восстановления
- [ ] Логирование ключевых действий включено

.cursorrules — правила для Cursor

Когда использовать: Положите в корень проекта, работающего в Cursor. Агент применяет приоритет этих правил к любой задаче.

# Project rules for Cursor agent

## Tone & style
- Write clear, purposeful Russian UI texts; code comments in English
- Prefer readable, simple code over clever one-liners

## Workflow
- Before editing, propose the file change list
- Small, testable steps; report after each step
- Do not touch unrelated code

## Safety
- No hardcoded secrets; always use .env variables
- Validate all user input at the boundary
- Never log full request bodies or tokens

## Testing
- After each feature: check the happy path, error path, and edge case
- Provide the run command to verify changes