Discovery починається з карти, а не з редагування

У незнайомому репозиторії перша мета — не одразу знайти місце для правки, а побудувати перевірювану стартову карту. Вона має показати стек, структуру верхнього рівня, команди запуску й тестування, основні модулі, точки входу та невідомі ділянки.

Discovery краще проводити в окремій read-only сесії. Якщо одночасно досліджувати архітектуру і змінювати код, нові правки легко сприйняти за частину початкового стану.

ПитанняПерші джерела
Який стек?package.json, build.gradle, lockfiles
Як запустити проєкт?README.md, scripts, wrapper-файли, compose-конфіг
Де тести?Test-каталоги та test-скрипти
Де точки входу?Startup-класи, routes, root components, CLI або jobs
Що ще невідомо?Окремий список open questions із рівнем упевненості

Безпечний первинний огляд

  1. Переконайтеся, що відкрито правильний репозиторій.
  2. Перевірте поточну гілку і незбережені зміни.
  3. Прочитайте описові файли та список команд.
  4. Огляньте каталоги верхнього рівня, не читаючи весь код підряд.
  5. Знайдіть стартові файли, маршрути та тести.
  6. Зафіксуйте підтверджені факти й окремо — те, що потребує перевірки.
Контекст перед discovery
pwd
git status
ls

# Далі адаптуйте команди до стеку проєкту.
cat README.md

Запит до Claude для discovery

Read-only discovery prompt
Досліди цей репозиторій без редагування файлів.
Склади коротку карту: стек, каталоги верхнього рівня,
команди запуску і тестування, основні модулі,
точки входу та непідтверджені питання.
Для кожного важливого висновку наведи файл або команду-доказ.

Що не є результатом discovery

  • повне знання кожного класу та методу;
  • рефакторинг знайдених проблем;
  • довгий список файлів без пояснення їхньої ролі;
  • припущення, видані за архітектурні факти;
  • висновок лише на основі назв каталогів.

Вихідний артефакт

Результат первинного discovery варто зберегти в `CODEBASE_INVENTORY.md` або іншому узгодженому inventory-файлі. Така карта переживає поточну сесію і дає наступному досліднику надійну точку старту.

Канонічне джерело уроку · JavaRush

Відкрити матеріал JavaRush