Гайд по GitHub Spec Kit: Профессиональная разработка
Это руководство базируется на видео Дена Делимарски, одного из создателей инструментария. В нем подробно разбирается методология spec-driven development (разработки, управляемой спецификациями), которая заменяет хаотичный “vibe coding” структурированным инженерным подходом.
Abstract
GitHub Spec Kit — это опенсорсный набор инструментов, предназначенный для формализации процесса разработки с использованием LLM-агентов. Вместо того чтобы сразу просить нейросеть “напиши мне сайт”, процесс разделяется на создание жестких правил (конституции), описание бизнес-требований (спецификации), техническое проектирование (план) и декомпозицию на конкретные шаги (задачи). Такой подход обеспечивает предсказуемость, масштабируемость и высокое качество кода.
Timeline
- 00:01:32 — Суть и цели spec-driven development.
- 00:02:39 — Инициализация проекта через
specify CLIи установка черезuvx. - 00:03:40 — Поддержка агентов: GitHub Copilot, Gemini CLI, Cursor.
- 00:07:49 — Файл конституции: фиксация необсуждаемых принципов проекта.
- 00:11:14 — Автоматическое заполнение конституции базовыми требованиями.
- 00:15:25 — Спецификация продукта (
/specify): описание “что” и “почему”. - 00:24:02 — Разработка технического плана (
/plan): выбор стека и ограничений. - 00:31:06 — Генерация задач (
/tasks) и акцент на TDD (разработку через тесты). - 00:34:13 — Запуск реализации через агентов (например, Cloud Sonnet 4).
- 00:37:31 — Обзор результата и возможности повторного использования артефактов.
Key Concepts
- Spec-driven Development: Методология, где код является побочным продуктом качественных спецификаций. Сначала создаются текстовые артефакты, описывающие логику, а затем агент воплощает их в коде.
- Constitution (Конституция): Самый важный файл проекта (
constitution.md). Он содержит правила, которые агент никогда не должен нарушать (например: “Всегда использовать TypeScript”, “Только функциональные компоненты”, “Тестовое покрытие 100%”). - Specification (Спецификация): Описание продукта с точки зрения бизнеса и пользователя. Здесь не должно быть технических деталей, только функциональность и цели.
- Plan (План): Технический документ, превращающий спецификацию в архитектурное решение (выбор фреймворков, структура папок, API).
- Tasks (Задачи): Пошаговый план реализации, по которому агент пишет код. Идеально подходит для реализации через Test-Driven Development.
Practical Tips
- Начинайте с малого: Используйте
specify init, чтобы создать базовую структуру. Не пытайтесь написать всё вручную. - Конституция — это ваш голос: Если агент постоянно ошибается в стиле кода или выборе библиотек, добавьте соответствующее правило в файл конституции.
- Разделяйте ответственность: Если вы хотите изменить функционал — меняйте спецификацию. Если технологию — меняйте план. Не исправляйте код напрямую, если хотите сохранить консистентность артефактов.
- TDD как стандарт: Требуйте, чтобы в списке задач
/tasksпервым пунктом всегда шло написание теста. Это гарантирует, что агент создаст рабочий и проверяемый код.
Conclusion
GitHub Spec Kit превращает работу с нейросетями из “лотереи промптов” в управляемый инженерный процесс. Использование четкой последовательности артефактов (Конституция → Спецификация → План → Задачи → Реализация) позволяет создавать сложные системы с минимальным количеством багов и максимальной прозрачностью для разработчика.