Предварительные требования
Spec Kit — открытый CLI-тулкит от GitHub, который добавляет в ваш проект набор slash-команд для Claude Code и создаёт всю структуру артефактов. Перед установкой убедитесь, что в системе есть нужное окружение:
python --version # нужен Python 3.11+
uv --version # рекомендуемый пакетный менеджер
git --version # нужен для git-расширенийЕсли uv ещё не установлен:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Установка specify-cli
Официального пакета на PyPI нет — это важно. Если запустить pip install specify-cli, установится другой, неродственный проект. Единственный правильный способ — из репозитория GitHub.
Зайдите на страницу релизов, возьмите актуальный тег и подставьте его вместо vX.Y.Z:
uv tool install specify-cli \
--from git+https://github.com/github/spec-kit.git@vX.Y.ZПроверяем:
specify --versionДолжна появиться строка с номером версии — если вместо неё ошибка, перечитайте путь к репозиторию.
Инициализация под Claude Code
Переходим в директорию проекта и запускаем:
# Создать новую папку и инициализировать
specify init my-feature --integration claude
# Инициализировать прямо в текущей директории
specify init . --here --integration claudeЕсть также краткий синоним флага --ai claude — он делает то же самое:
specify init my-feature --ai claudeПосмотреть все доступные интеграции:
specify integration listВывод покажет 30+ агентов: Copilot, Gemini, Codex, Cursor и другие. Это принципиальный момент проектирования Spec Kit: артефакты — обычный markdown в Git, поэтому смена инструмента не требует миграции данных.
$ specify integration list
Available integrations:
claude Claude Code (Anthropic) [installed]
copilot GitHub Copilot
gemini Gemini Code Assist (Google)
codex Codex CLI (OpenAI)
cursor Cursor
windsurf Windsurf (Codeium)
continue Continue.dev
cody Sourcegraph Cody
... (30+ total)
Run `specify init <dir> --integration <name>` to use any integration.На Windows добавьте --script ps для PowerShell-совместимых скриптов:
specify init my-feature --integration claude --script psЧто появилось в проекте
После specify init структура выглядит так:
flowchart TD
ROOT["my-feature/"] --> SPECIFY[".specify/"]
ROOT --> SPECS["specs/"]
ROOT --> CLAUDE["CLAUDE.md"]
SPECIFY --> MEMORY["memory/"]
SPECIFY --> TEMPLATES["templates/"]
MEMORY --> CONST["constitution.md\n(принципы проекта)"]
TEMPLATES --> ST["spec-template.md"]
TEMPLATES --> PT["plan-template.md"]
TEMPLATES --> TT["tasks-template.md"]
SPECS --> F001["001-feature-name/"]
F001 --> SM["spec.md"]
F001 --> PM["plan.md"]
F001 --> TM["tasks.md"]Три файла, на которые стоит обратить внимание сразу:
.specify/memory/constitution.md— принципы проекта. Это «нулевой шаг» цикла: стандарты качества, тестирования, UX, которым подчинены все последующие спеки. Пустой при инициализации — его заполняет/speckit.constitution.specs/001-feature-name/— сюда Claude Code складываетspec.md,plan.mdиtasks.mdпо каждой фиче. Папки нумеруются автоматически. Всё в Git — история изменений спеки видна вgit log.CLAUDE.md— файл-мост: Claude Code читает его при каждом старте сессии, поэтому контекст проекта и slash-команды подхватываются автоматически. НетCLAUDE.md— нет контекста.
Сами slash-команды ложатся в .claude/commands/. Запустите claude из папки проекта — и /speckit.* уже будут в автодополнении.
Slash-команды: порядок и назначение
Полная цепочка от идеи до кода:
| Команда | Назначение | Создаёт |
|---|---|---|
/speckit.constitution | Задаёт принципы проекта | .specify/memory/constitution.md |
/speckit.specify | Пишет спеку фичи | specs/NNN/spec.md |
/speckit.clarify | Снимает неоднозначности до плана | обновляет spec.md |
/speckit.plan | Проектирует архитектуру и стек | specs/NNN/plan.md |
/speckit.tasks | Разбивает план на задачи | specs/NNN/tasks.md |
/speckit.analyze | Проверяет согласованность артефактов | отчёт в чате |
/speckit.implement | Реализует задачи | код |
/speckit.converge | Сравнивает код со спекой | отчёт + новые задачи |
/speckit.clarify и /speckit.analyze — необязательные шаги. Но пропускать их в нетривиальных фичах не стоит: первая снимает неоднозначности до того, как Claude Code начнёт строить архитектуру, вторая ловит противоречия между spec.md, plan.md и tasks.md до того, как они превратятся в переделку кода.
Другие инструменты: осознанный выбор
Spec Kit — не единственный вариант для SDD с Claude Code. Вот три альтернативы, чтобы не выбирать вслепую.
claude-code-spec-workflow (Pimzino) — Node.js-пакет, 14+ slash-команд. Фазы: Requirements → Design → Tasks → Implementation. Плюс отдельный bug-workflow: /bug-create → /bug-analyze → /bug-fix → /bug-verify. Есть «steering documents» — product.md, tech.md, structure.md — которые Claude Code держит в контексте постоянно. Подходит, если нужен готовый процесс для багов и вы в Node.js-экосистеме.
BMAD-METHOD — методология с четырьмя фазами и ролевыми агентами: Product Manager, Architect, Developer, QA. Более формальная, ближе к enterprise-подходу. Хороший выбор, когда в команде роли действительно разделены и каждому агенту нужен свой «голос».
Superpowers — соло-инструмент для одного репозитория. Минимальная конфигурация, SessionStart hook для автозагрузки контекста. Быстрый старт без накладных расходов Spec Kit — хорош для экспериментов или небольших личных проектов.
Главное отличие Spec Kit: агентная агностичность — 30+ интеграций, артефакты в markdown, никакой привязки к платформе. Если не уверены, с чего начать — возьмите Spec Kit: его артефакты переносимы, понятны без специального тулинга и живут в Git как обычные файлы.
Чек: рабочая инициализация
Четыре проверки, что всё готово к работе:
1. specify --version — выводит версию без ошибок
2. В папке проекта есть .specify/memory/constitution.md
3. specify integration list — показывает claude в списке
4. В Claude Code команды /speckit.* появляются в автодополнении — запустите claude из папки проекта и начните вводить /speckit
Если на шаге 4 команды не появляются, проверьте, что вы запускаете claude именно из папки проекта, где лежит .claude/commands/. Claude Code ищет команды относительно рабочей директории.
В следующем уроке возьмём одну небольшую фичу и пройдём весь цикл — от constitution.md до рабочего кода, разбирая каждый артефакт по ходу.