Как изучать существующий проект до написания кода
Учимся читать проект перед реализацией: routes, features, shared UI, auth, persistence и Docker.
Самая частая ошибка при работе с 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.
Что искать в первую очередь
- 1Routes
Проверь `src/app`. Это покажет, какие URL уже существуют, как устроены страницы и есть ли route handlers.
- 2Feature boundaries
Проверь `src/features`. Новый модуль должен лечь рядом с текущими features, а не создавать отдельное приложение без причины.
- 3Shared UI
Открой `src/components/ui` и shell-компоненты. Новый экран должен выглядеть как часть платформы.
- 4Auth и persistence
Ищи `middleware`, `cookies`, `headers`, `DATABASE_URL`, `pg`, `prisma`, `drizzle`, `supabase`. Не придумывай их наличие.
- 5Docker и scripts
Проверь `package.json`, `Dockerfile`, `docker-compose.yml`. Они показывают реальные команды проверки и runtime ограничения.
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-модуль и какие соседние зоны нельзя трогать.