Форма проекта
Откройте типичный проект, и список папок может показаться шумом. Это не так — большинство проектов следуют узнаваемому шаблону. Вот упрощённое веб-приложение:
my-app/
├── package.json # зависимости + команды запуска (выше)
├── package-lock.json # lockfile — точные версии
├── .env # локальные секреты/конфиг — НЕ общие
├── .gitignore # файлы, которые Git должен игнорировать (например .env)
├── README.md # что это за проект и как его запускать
├── public/ # статические файлы, отдаваемые как есть (картинки, иконки)
└── src/ # здесь живёт ваш собственный код
├── components/ # переиспользуемые части frontend (кнопка, карточка)
├── pages/ (или app/) # экраны/маршруты, на которые переходят пользователи
├── lib/ # общие помощники и логика backend
└── styles/ # CSS
Вам не нужно это заучивать — просто узнавайте, чтобы, когда ИИ говорит «я добавлю это в src/lib», вы примерно знали, где это и почему. Несколько несущих соглашений:
src/содержит код, который вы пишете. Беспорядок на верхнем уровне — это в основном конфигурация.- Конфигурационные файлы в корне (
package.json, dotfiles) настраивают инструменты, а не поведение вашего приложения. .gitignoreперечисляет файлы, которые не должны сохраняться в систему контроля версий — ваш.envпринадлежит сюда, и именно так секреты остаются вне общего репозитория.