Часть 5. Первичная настройка проекта
Первичная настройка — это не генерация всего приложения. Это создание минимальной, понятной базы, на которой можно безопасно писать конституцию и первую спецификацию фичи. В учебном проекте база будет TypeScript-проектом с Git, но без продуктовой логики.
Цель этапа
После первичной настройки у вас должно быть:
- Git-репозиторий;
README.mdс кратким видением продукта;QWEN.md;.qwen/settings.json;- минимальная TypeScript-заготовка;
- пустая или почти пустая
src/index.ts; package.json;tsconfig.jsonсо строгим режимом.
Пока не добавляйте Hono, SQLite, Vitest или страницы. Эти решения должны попасть в specs/tech-stack.md и дорожную карту, а затем реализовываться через спецификации фич.
Команды
mkdir agentclinic
cd agentclinic
git init
npm init -y
npm install -D typescript @types/node
npx tsc --init
mkdir -p src specs .qwen
touch src/index.ts
Откройте tsconfig.json и убедитесь, что строгий режим включён:
{
"compilerOptions": {
"strict": true
}
}
В package.json добавьте:
{
"scripts": {
"typecheck": "tsc --noEmit"
}
}
Создайте .gitignore, чтобы случайно не закоммитить артефакты сборки и локальные секреты:
node_modules/
dist/
build/
.env
.env.*
# локальная SQLite-память (см. часть 19)
.qwen/memory/agent-memory.db
.qwen/memory/agent-memory.db-shm
.qwen/memory/agent-memory.db-wal
# IDE
.idea/
.vscode/
Конфигурацию .qwen/settings.json в .gitignore не кладите — она нужна команде. Но проверьте, что в ней нет секретов; для секретов есть переменные окружения и .env.
Проверьте:
npm run typecheck
git status
Что подсовывать агенту в начале сессии
Каждый запуск Qwen Code — это новое окно. Если каждый раз агент сам угадывает, что читать, вы будете тратить часть запроса на ввод его в курс дела. Надёжнее зафиксировать заранее, какие файлы он должен прочитать в начале:
QWEN.md— правила поведения агента в репозитории.specs/mission.md,specs/tech-stack.md,specs/roadmap.md— конституция проекта.- Папка текущей спецификации, если работа идёт над фичей:
specs/<YYYY-MM-DD-feature>/.
Это та же идея, что и @file в запросах, но вы выносите её на уровень привычки и QWEN.md. Один из вариантов — добавить в QWEN.md блок:
Перед началом любой работы прочитай:
- README.md
- specs/mission.md, specs/tech-stack.md, specs/roadmap.md
- активную спецификацию фичи, если она указана в запросе.
Не угадывай содержание этих файлов: если их нет, скажи об этом.
В корпоративных текстах такую практику называют Knowledge Priming — «загрузка знаний» в начало сессии. Имя не важно; важно, что агент перед первым действием уже знает три основные вещи: зачем существует проект, какой стек и какая текущая фаза.
Минимальный README
# AgentClinic
AgentClinic — вымышленная клиника психического здоровья, где ИИ-агенты восстанавливаются после стресса от работы с людьми.
Пожелания участников проекта:
- инженерная команда хочет надёжное учебное приложение на TypeScript;
- продуктовая команда хочет агентов, недуги, терапии, записи на приём, обратную связь и отзывы;
- маркетингу нужен современный браузерный опыт с запоминающимся сатирическим тоном.
Этот README нужен не как финальная документация, а как исходные пожелания участников проекта для агента. В следующей части Qwen Code будет читать его и задавать вопросы перед созданием конституции.
Первый коммит
git add README.md QWEN.md package.json package-lock.json tsconfig.json src .qwen
git commit -m "Initialize AgentClinic scaffold"
Если вы ещё не хотите коммитить .qwen/settings.json, проверьте, нет ли там секретов. Конфигурация с именем модели обычно допустима, ключи — нет.
Проверка первичной настройки через Qwen Code
Запустите:
qwen
Введите:
Проверь этот репозиторий.
Файлы не записывай.
Сообщи:
1. инициализирован ли Git;
2. включён ли строгий режим TypeScript;
3. достаточно ли `QWEN.md` задаёт правила SDD;
4. чего не хватает перед созданием specs/mission.md, tech-stack.md и roadmap.md.
Если Qwen предлагает сразу поставить фреймворк или писать приложение, остановите его. До конституции это преждевременно.
Почему не надо сразу писать код
В обычной разработке с агентами первичная настройка часто превращается в «построй приложение». В SDD она должна быть скучной. Её задача — дать агенту рабочее пространство и Git-границу, а не принимать продуктовые решения.
Сравните:
Построй приложение AgentClinic.
и:
Подготовь репозиторий к SDD.
Пока не выбирай веб-фреймворк.
Не реализуй продуктовые маршруты.
Убедись, что TypeScript и Git готовы.
Второй запрос сохраняет решения для правильного этапа.
Практика
- Выполните первичную настройку.
- Запустите
npm run typecheck. - Спросите Qwen Code о готовности репозитория.
- Исправьте только блокирующие проблемы первичной настройки.
- Сделайте коммит.
Контрольные вопросы
- Почему первичная настройка не должна включать продуктовые фичи?
- Какие файлы нужны агенту перед созданием конституции?
- Что должно быть закоммичено до первой ветки фичи?