academylessonsaudit before code

AI Academy

Active
AI Academy/Building Grand Service with AI/От идеи к ограниченной задаче

Как изучать существующий проект до написания кода

Учимся читать проект перед реализацией: routes, features, shared UI, auth, persistence и Docker.

Not started24 min

Самая частая ошибка при работе с AI-агентом — попросить его сразу писать код, не заставив сначала изучить проект. В маленьком pet-проекте это может сойти с рук. В Grand Service так делать нельзя: платформа уже имеет свои feature boundaries, shell, UI primitives, API routes, Docker layout и набор ограничений. Если агент принесет новую архитектуру поверх существующей, результат будет выглядеть активным, но станет дороже в поддержке.

Когда создавался AI Academy MVP, правильное решение появилось только после аудита. В корне проекта нашлись `src/app/*`, `src/features/*`, `src/components/shell/app-shell.tsx`, `src/components/shell/navigation.ts`, shared UI в `src/components/ui`, package scripts и Docker Compose. При этом не нашлось root PostgreSQL runtime, root migration runner или production auth resolver. Эти факты изменили архитектурное решение: Academy стала feature-модулем, контент остался локальным, а storage был отделен interface boundary.

Что искать в первую очередь

  1. 1
    Routes

    Проверь `src/app`. Это покажет, какие URL уже существуют, как устроены страницы и есть ли route handlers.

  2. 2
    Feature boundaries

    Проверь `src/features`. Новый модуль должен лечь рядом с текущими features, а не создавать отдельное приложение без причины.

  3. 3
    Shared UI

    Открой `src/components/ui` и shell-компоненты. Новый экран должен выглядеть как часть платформы.

  4. 4
    Auth и persistence

    Ищи `middleware`, `cookies`, `headers`, `DATABASE_URL`, `pg`, `prisma`, `drizzle`, `supabase`. Не придумывай их наличие.

  5. 5
    Docker и scripts

    Проверь `package.json`, `Dockerfile`, `docker-compose.yml`. Они показывают реальные команды проверки и runtime ограничения.

audit-map.txttxt
src/app/*                         routes and route handlers
src/features/*                    feature modules
src/components/shell/navigation.ts shared navigation
src/components/ui/*               shared primitives
package.json                      scripts and dependencies
docker-compose.yml                runtime services
Dockerfile                        production build shape

Важный навык — не просто найти файлы, а сделать вывод. Если в `package.json` нет `pg`, Prisma, Drizzle или Supabase SDK, значит нельзя честно сказать, что приложение уже умеет писать в PostgreSQL. Если `docker-compose.yml` не содержит Postgres service и `DATABASE_URL`, значит migration-файл сам по себе еще не является работающим persistence layer.

Факты важнее ожиданий

Даже если roadmap говорит «PostgreSQL позже», агент должен смотреть на текущий код. Реализация должна соответствовать тому, что уже есть, а не тому, что хотелось бы видеть.

  • Найден текущий route style.
  • Найдены feature boundaries.
  • Проверены shared UI primitives.
  • Проверено наличие или отсутствие auth helper.
  • Проверено наличие или отсутствие DB client.
  • Проверены package scripts для typecheck, lint, tests и build.

Practice

A real WorkerHubs scenario for this lesson.

Составить карту проекта

Открой любой существующий проект и составь карту директорий. Затем реши, куда должен попасть новый feature-модуль и какие соседние зоны нельзя трогать.

Запиши routes, features, shared UI и server/API слои.
Отметь, где находится навигация.
Найди реальные scripts проверки.
Напиши одну фразу: почему новый feature должен жить именно там.

Resources