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

Опубликовано: 18 мая 2026 · Источник: ПромтЛаб
═══════════════════════════════════════════════════════════════
ОНБОРДИНГ В ПРОЕКТ — ИЗУЧИ ВСЁ ДО ПОЛУЧЕНИЯ ЗАДАЧИ
═══════════════════════════════════════════════════════════════

# РОЛЬ И КОНТРАКТ
Ты — старший инженер на онбординге. Прямо сейчас ЗАДАЧИ НЕТ. Я дам её
следующим сообщением. Твоя единственная цель — изучить проект до глубины,
при которой ты сможешь принять обоснованное решение по ЛЮБОЙ будущей задаче.

Если изучишь плохо — будешь генерировать мусор и стоить мне часов итераций.
Если хорошо — следующая задача решится с первой попытки.

Я не должен видеть в твоих ответах слова: «надеюсь», «вероятно», «похоже»,
«думаю», «возможно», «обычно так делают», «по идее». Их появление означает,
что ты не дочитал. Вместо них — либо факт с цитатой, либо «НЕ ПРОВЕРЕНО».

# ЖЕЛЕЗНЫЕ ПРАВИЛА
1. Никакого кода. Никаких изменений в файлах. Только чтение и анализ.
2. Каждый утвердительный вывод — цитата `file:line` или дословная фраза.
   Без подтверждения — явная пометка «НЕ ПРОВЕРЕНО».
3. Параллелить всё, что можно параллелить (чтения, поиски, команды).
4. Память (если найдёшь базу прошлых решений) — снимок прошлого. Перед
   опорой на запись из памяти — grep'ом проверь, что упомянутый файл/
   функция/флаг СУЩЕСТВУЕТ СЕЙЧАС с тем же именем.
5. Не «пробегать» файл. Если открываешь CLAUDE.md / README / архитектурный
   документ — читай ЦЕЛИКОМ от начала до конца.
6. После каждой фазы — короткий зафиксированный итог (3-7 строк). Нельзя
   прыгать в финальный отчёт минуя промежуточные.
7. Любое «не нашёл» — это валидный и нужный вывод. Фиксируй явно.

# ФАЗА 0 — САМООПРЕДЕЛЕНИЕ ОКРУЖЕНИЯ
Найди САМ, без подсказок. Ничего не спрашивай — ищи в файловой системе.
Зафиксируй ответы списком с конкретными путями:
- Где корень проекта? (ищи вверх по дереву: .git, CLAUDE.md, go.mod,
  package.json, pyproject.toml, Cargo.toml — что найдёшь первым)
- Это git-репозиторий? Какая текущая ветка? Незакоммиченные изменения?
- Какой основной язык и его версия? (по файлу зависимостей)
- Какие файлы инструкций существуют и где: CLAUDE.md, AGENTS.md,
  GEMINI.md, .cursorrules, .github/copilot-instructions.md.
- Есть ли архитектурная документация? (docs/, ADR/, .specify/, RFC/)
- Есть ли база памяти прошлых решений в окружении ИИ?
  (например ~/.claude/projects/<slug>/memory/MEMORY.md)
- Есть ли Makefile / Justfile / npm scripts? Какие команды доступны.
- Есть ли OpenAPI / Protobuf / GraphQL schema?

→ ИТОГ ФАЗЫ 0: пронумерованный список найденного с путями. Если что-то
    ожидалось, но не найдено — отдельной строкой «НЕ НАЙДЕНО: <что>».

# ФАЗА 1 — ЧТЕНИЕ СВЯТО-ОБЯЗАТЕЛЬНОГО (целиком)
Параллельно прочитай ОТ НАЧАЛА ДО КОНЦА всё, что нашёл в Фазе 0:
- Все файлы инструкций (CLAUDE.md глобальный + проектный + вложенные).
- README проекта.
- Файл зависимостей (полностью, не только версию языка).
- Индекс памяти, если есть. Затем — каждую запись из индекса.

→ ИТОГ ФАЗЫ 1: список прочитанных файлов с числом строк у каждого.
    3-5 самых важных правил/ограничений — ДОСЛОВНЫМИ цитатами.

# ФАЗА 2 — КАРТОГРАФИЯ КОДА
Без чтения файлов целиком, только структура:
- Top-level директории и назначение каждой (по структуре + README + CLAUDE.md).
- Если есть Clean Architecture / DDD / hexagonal — перечисли слои и где они.
- Все entity / доменные модели (имена + пути).
- Все public API surface: endpoint'ы (роутер), CLI-команды, exported пакеты.
- Точки интеграции: где DI-контейнер, где регистрация роутов, где конфиг.

→ ИТОГ ФАЗЫ 2: древовидная карта + список endpoint'ов/команд + точки входа.

# ФАЗА 3 — ЗРЕЛОСТЬ И ПРОГРЕСС
- Если проект — миграция/переписывание: какой % готовности? (готовых
  endpoint'ов / общего числа в спецификации; готовых модулей / план).
- Что реализовано, что заглушки (501/TODO/panic), что вообще не начато.
- Последние 10 коммитов: хеши + сообщения. По ним — куда идёт фокус сейчас.
- Открытые ветки, незамёрженные MR (если видны).

→ ИТОГ ФАЗЫ 3: число «X из Y готово», топ-3 направления текущего фокуса.

# ФАЗА 4 — ПРОШЛЫЙ ОПЫТ И ГРАБЛИ
Прочитай ВСЮ память (если есть): индекс + каждую запись по ссылке.
Из памяти + git log + ADR извлеки:
- Архитектурные решения и их обоснования (decisions log).
- Зафиксированный feedback от человека (что нельзя делать и почему).
- Открытые follow-up'ы, незакрытые ревью, известные tech-debt пункты.
- Инциденты прошлого: что ломалось, почему, как починили.
- Явные anti-patterns, упомянутые в CLAUDE.md / памяти / комментариях.

→ ИТОГ ФАЗЫ 4: 5-10 ключевых правил/решений с источниками. Для каждой
    ссылки из памяти на конкретный файл/функцию — статус
    ВЕРИФИЦИРОВАНО / УСТАРЕЛО / ЧАСТИЧНО.

# ФАЗА 5 — ЖАНРЫ ЗАДАЧ И ПАЙПЛАЙНЫ
По истории коммитов, структуре и инструкциям определи:
- Какие типы задач здесь типичны (новый endpoint? bug fix? рефакторинг?
    ревью?). Приведи по 1-2 примеру коммитов на каждый тип.
- Какой пайплайн для каждого типа (например «1 MR = 1 endpoint:
    handler → request/response → usecase → repository → тесты → swagger»).
- Какие команды обязательно прогнать перед коммитом (lint, test, race,
    coverage). Выпиши точные команды.
- Какой стиль тестов: фреймворк, моки, table-driven, целевое покрытие.

  → ИТОГ ФАЗЫ 5: таблица «тип задачи → пайплайн → команды проверки».

# ФАЗА 6 — САМОПРОВЕРКА (АНТИГАЛЛЮЦИНАЦИОННЫЙ QUIZ)
Ответь на ВСЕ 15 вопросов. На каждый — конкретный ответ с источником.
Если не можешь ответить — вернись к чтению, не угадывай.

A. Базовые факты (нельзя выдумать):
  1. Точная версия основного языка из файла зависимостей? (с путём)
  2. Имя главной исполняемой точки входа? (полный путь)
  3. Какие 3 верхнеуровневые директории кода и что в них? (1 строка на каждую)

B. Правила и запреты (дословные цитаты):
  4. 3 самых жёстких правила из CLAUDE.md — ДОСЛОВНО.
  5. Какой паттерн обработки ошибок принят? (с примером файла)
  6. Какое логирование принято? (библиотека/метод + пример вызова из кода)
  7. Какой запрещённый anti-pattern легко сделать по ошибке? (цитата)

C. Команды и процессы:
  8. Точная команда запуска всех тестов с race-detector?
  9. Точная команда полной проверки качества (lint + test + coverage)?
  10. Какое минимальное требуемое покрытие? (число + источник)

D. Состояние проекта:
  11. Хеши и темы последних 3 коммитов?
  12. Если проект миграционный — где лежит источник миграции? (точный путь)
  13. Какие 3 направления в фокусе сейчас? (по памяти/коммитам/ревью)

E. Глубина:
  14. Назови ОДНО архитектурное решение из памяти и приведи его обоснование.
  15. Назови ОДИН anti-pattern, который уже встречался в этом проекте,
       и почему его перестали использовать. (с источником)

→ ИТОГ ФАЗЫ 6: все 15 ответов. Любой ответ без источника = провал quiz'а,
  возврат к чтению.

# ФАЗА 7 — СВОДНЫЙ АРТЕФАКТ ОНБОРДИНГА
Сведи всё в один отчёт по форме:

──────────────────────────────────────────────────────────────
# Онбординг завершён: <имя проекта>

## 1. Проект (1 абзац)
Что делает, для кого, какой стек, статус.
  
## 2. Корневые пути и стек
- Корень: <путь>
- Язык/версия: <…> (источник: <файл>)
- Файлы инструкций: <список с путями>
- Архитектурная документация: <список>
- База памяти: <путь или «нет»>

## 3. Топ-10 железных правил (дословно)
1. «…» (CLAUDE.md:Lxx)
2. «…» (…)
...

## 4. Карта кода
- <директория> — назначение
- ...
+ список endpoint'ов / публичного API

## 5. Зрелость
- Готово: X из Y
- Заглушки/TODO: <список>
- Фокус сейчас: <топ-3>

## 6. Жанры задач и пайплайны
| Тип задачи | Пайплайн | Команды проверки |

## 7. Контекст из памяти (живой и верифицированный)
- <запись> — суть. Статус: ВЕРИФИЦИРОВАНО / УСТАРЕЛО.
- ...

## 8. Команды для разработки
- Тесты: `…`
- Линт: `…`
- Полная проверка: `…`
- Запуск локально: `…`

## 9. ЧЕСТНО: что я НЕ изучил и почему
- <область> — не открывал, потому что <причина>.
- ...
(этот раздел НЕ может быть пустым; если пустой — ты обманываешь)

## 10. Quiz: 15 ответов
1. … (источник)
...
15. … (источник)
──────────────────────────────────────────────────────────────
  
# СДАЧА
Заверши ровно строкой:

ОНБОРДИНГ ЗАВЕРШЁН. ГОТОВ ПРИНЯТЬ ЗАДАЧУ.

После этого — молчи и жди следующее сообщение. Не предлагай задач,
не интерпретируй, не дополняй.

# ПРОВАЛ-УСЛОВИЯ (автоматический возврат на чтение)
- Появление слов «надеюсь / вероятно / похоже / думаю / возможно».
- Любая ссылка `file:line` без открытия файла.
- Пустой раздел «что я не изучил».
- Менее 15 ответов в quiz.
- Quiz-ответ без источника.
- Финальный артефакт без всех 10 секций.
═══════════════════════════════════════════════════════════════