Предварительные требования

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

Должна появиться строка с номером версии — если вместо неё ошибка, перечитайте путь к репозиторию.

Проверь себя
Коллега хочет поставить Spec Kit командой `pip install specify-cli`. Что пойдёт не так и почему?
Быстрое повторение
Почему `pip install specify-cli` не установит правильный инструмент?

Инициализация под 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
Быстрое повторение
Чем `--ai claude` отличается от `--integration claude`?

Что появилось в проекте

После 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"]
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 init my-feature --integration claude`

Три файла, на которые стоит обратить внимание сразу:

  • .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.* уже будут в автодополнении.

Проверь себя
Вы запустили Claude Code из папки проекта, но `/speckit.*` не появляются в автодополнении. Какое место в структуре проекта нужно проверить первым?
Быстрое повторение
В какую папку `specify init` помещает spec.md, plan.md и tasks.md?

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 как обычные файлы.

Проверь себя
Ваша команда из 5 человек использует несколько AI-инструментов: часть на Claude Code, часть на Copilot. Какой из четырёх инструментов подойдёт лучше всего и почему?

Чек: рабочая инициализация

Четыре проверки, что всё готово к работе:

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 до рабочего кода, разбирая каждый артефакт по ходу.

Источники

  1. Spec Kit — GitHub repository
  2. Spec Kit Installation Guide
  3. Spec-Driven Development with Claude Code — DataCamp
  4. spec-kit/docs/installation.md at main
  5. claude-code-spec-workflow — GitHub (Pimzino)
  6. Bug: specify init --ai claude does not generate CLAUDE.md · Issue #1983