Files
telegram-tui/DEVELOPMENT.md
Mikhail Kilin b6d9291864 fixes
2026-01-20 01:00:12 +03:00

3.2 KiB
Raw Blame History

Правила локальной разработки

Обязательно к прочтению перед началом работы!


Инструменты

MCP серверы

  • Serena — для работы с кодом (символьная навигация, редактирование)
  • Context7 — для получения актуальной документации по библиотекам

Используй эти инструменты для эффективной работы с кодовой базой.


Правила работы

1. Никогда не запускай сервисы самостоятельно

ЗАПРЕЩЕНО запускать cargo run, cargo build и подобные команды.

Вместо этого попроси пользователя запустить:

Запусти, пожалуйста:
cargo run

2. Тестирование — только ручное

После завершения задачи:

  1. Опиши сценарии для проверки
  2. Попроси пользователя проверить вручную
  3. Дождись фидбека

Формат:

Готово! Проверь, пожалуйста:

1. Открой cargo run
2. понавигируйся в списке чатов кнопками h j k l
3. Нажми Enter для открытия чата
4. Убедись, что чат прогурзился

Напиши, если что-то не работает.

3. Работа поэтапно

Делай работу небольшими итерациями:

  1. Один этап = одна логическая единица

    • Один endpoint
    • Один компонент
    • Одна фича
  2. После каждого этапа:

    • Сообщи что сделано
    • Дай сценарий проверки
    • Дождись подтверждения
  3. Не делай сразу много:

    • Весь CRUD за раз
    • Сначала GET, проверили, потом POST, проверили...

Чеклист перед началом работы

  • Прочитал 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. Переходит к следующему этапу