This commit is contained in:
2025-12-29 16:58:56 +03:00
commit 524f3ebf23
62 changed files with 30925 additions and 0 deletions

148
DEVELOPMENT.md Normal file
View File

@ -0,0 +1,148 @@
# Правила локальной разработки
> **Обязательно к прочтению перед началом работы!**
---
## Инструменты
### MCP серверы
- **Serena** — для работы с кодом (символьная навигация, редактирование)
- **Context7** — для получения актуальной документации по библиотекам
Используй эти инструменты для эффективной работы с кодовой базой.
---
## Локальное окружение
### Порты
| Сервис | Порт |
|--------|------|
| Frontend (React) | 4000 |
| Backend (NestJS) | 4001 |
| PostgreSQL | 5432 |
### База данных
PostgreSQL поднимается в Docker. Файл `docker-compose.yml` в корне проекта.
```bash
# Запуск БД
docker-compose up -d postgres
```
---
## Правила работы
### 1. Никогда не запускай сервисы самостоятельно
**ЗАПРЕЩЕНО** запускать `npm run dev`, `npm start` и подобные команды.
**Вместо этого:**
1. Убедись, что команда запуска есть в `package.json`
2. Если команды нет — создай её
3. Попроси пользователя запустить:
```
Запусти, пожалуйста:
cd backend && npm run dev
```
### 2. Тестирование — только ручное
После завершения задачи:
1. Опиши сценарии для проверки
2. Попроси пользователя проверить вручную
3. Дождись фидбека
**Формат:**
```
Готово! Проверь, пожалуйста:
1. Открой http://localhost:4000
2. Нажми кнопку "Создать идею"
3. Заполни форму и сохрани
4. Убедись, что идея появилась в списке
Напиши, если что-то не работает.
```
### 3. Работа поэтапно
Делай работу **небольшими итерациями**:
1. **Один этап = одна логическая единица**
- Один endpoint
- Один компонент
- Одна фича
2. **После каждого этапа:**
- Сообщи что сделано
- Дай сценарий проверки
- Дождись подтверждения
3. **Не делай сразу много:**
- ❌ Весь CRUD за раз
- ✅ Сначала GET, проверили, потом POST, проверили...
### 4. Команды в package.json
Все команды запуска должны быть в `package.json`:
```json
// backend/package.json
{
"scripts": {
"dev": "nest start --watch",
"build": "nest build",
"start:prod": "node dist/main"
}
}
// frontend/package.json
{
"scripts": {
"dev": "vite --port 4000",
"build": "vite build",
"preview": "vite preview"
}
}
```
---
## Чеклист перед началом работы
- [ ] Прочитал CONTEXT.md
- [ ] Прочитал ROADMAP.md (понял текущую фазу)
- [ ] Понял задачу
- [ ] Готов работать поэтапно
- [ ] Помню: не запускаю сервисы сам, прошу пользователя
---
## Пример правильного workflow
```
Пользователь: Сделай endpoint для получения списка идей
Агент:
1. Читает документацию через Context7 (NestJS, TypeORM)
2. Использует Serena для навигации по коду
3. Создаёт endpoint GET /api/ideas
4. Сообщает:
"Создал endpoint GET /api/ideas.
Запусти backend:
cd backend && npm run dev
Проверь:
curl http://localhost:4001/api/ideas
Должен вернуться пустой массив: { data: [], meta: {...} }"
5. Ждёт фидбек
6. Переходит к следующему этапу
```