Материал: Часть 5. Первичная настройка проекта

Урок 1 из 5 в модуле «Часть 5. Первичная настройка проекта»
Вы просматриваете урок без входа. Войдите, чтобы сохранять прогресс и проходить тесты.

Часть 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 готовы.

Второй запрос сохраняет решения для правильного этапа.

Практика

  1. Выполните первичную настройку.
  2. Запустите npm run typecheck.
  3. Спросите Qwen Code о готовности репозитория.
  4. Исправьте только блокирующие проблемы первичной настройки.
  5. Сделайте коммит.

Контрольные вопросы

  1. Почему первичная настройка не должна включать продуктовые фичи?
  2. Какие файлы нужны агенту перед созданием конституции?
  3. Что должно быть закоммичено до первой ветки фичи?
Мои заметки
0 / 10000

Заметки сохраняются в этом браузере. На другом устройстве они не появятся.

Меню курса

Курс

Разработка по спецификациям с Qwen Code CLI
Прогресс 0 / 135