banatie-content/assets/beyond-vibe-coding/spec-driven-dev.md

82 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Spec-Driven Development
## Определение
**Spec-Driven Development (SDD)** — методология разработки с AI-агентами, основанная на создании формальных спецификаций перед имплементацией: Requirements → Design → Tasks → Implementation.
---
## Формализация подхода
### GitHub Engineering
- **Сентябрь 2025**: GitHub опубликовал [GitHub Spec Kit](https://github.com/github/spec-kit) как open-source toolkit (MIT лицензия)
- **Официальный анонс**: ["Spec-driven development with AI: Get started with a new open source toolkit"](https://github.blog/ai-and-ml/generative-ai/spec-driven-development-with-ai-get-started-with-a-new-open-source-toolkit/) (1 сентября 2025)
### Thoughtworks Technology Radar
- **Volume 33** (ноябрь 2025): упоминает "AI coding workflows" и новые практики context engineering в контексте эволюции AI-ассистированной разработки
- Источник: [Thoughtworks Technology Radar](https://www.thoughtworks.com/en-us/radar)
---
## Профессиональные инструменты
### Production-Ready
| Инструмент | Статус | Описание |
|-----------|--------|----------|
| **[AWS Kiro](https://aws.amazon.com/startups/prompt-library/kiro-project-init)** | Public Preview (июль 2025) | Spec-driven IDE на базе VS Code |
| **[GitHub Spec Kit](https://github.com/github/spec-kit)** | Open Source (сентябрь 2025) | Toolkit с командами `/speckit.*`, MIT лицензия |
| **[Tessl Framework](https://tessl.io/blog/tessl-launches-spec-driven-framework-and-registry/)** | Closed Beta (сентябрь 2025) | Spec-as-source с Registry (10,000+ specs) |
### Community-Driven
- **[BMAD Method](https://recruit.group.gmo/engineer/jisedai/blog/the-bmad-method-a-framework-for-spec-oriented-ai-driven-development/)**: 21 специализированный агент, open-source
- **[OpenSpec](https://mcpmarket.com/server/openspec)**: lightweight CLI, brownfield-first подход
- **[APM](https://www.reddit.com/r/PromptEngineering/comments/1ne5onl/apm_v04_taking_specdriven_development_to_the_next/)**: Agentic Project Management, multi-agent система (май 2025)
---
## Интеграция с Claude Code
**Полностью поддерживается**
- GitHub Spec Kit [официально поддерживает Claude Code](https://intuitionlabs.ai/articles/spec-driven-development-spec-kit)
- Tessl Framework [интегрируется через MCP](https://tessl.io/blog/spec-driven-dev-with-claude-code/)
- [Пользовательские workflows](https://www.reddit.com/r/ClaudeCode/comments/1m5k6ka/i_built_a_specdriven_development_workflow_for/) активно используются комьюнити
- Custom slash commands для spec-driven разработки
---
## Минимальный подход без фреймворков
SDD — это **методология**, а не инструмент. Можно следовать принципу без установки фреймворков:
```
/specs/
├── REQUIREMENTS.md # Что строим, user stories, acceptance criteria
├── DESIGN.md # Архитектура, tech stack, data models, API contracts
└── TASKS.md # Разбивка на задачи, последовательность, критерии
```
**Рабочий процесс:**
1. Создай спецификации в `/specs/`
2. Попроси AI: *"Имплементируй Task 1 согласно specs/DESIGN.md и specs/TASKS.md"*
3. Итеративно обновляй specs по мере прояснения требований
### Преимущества ручного подхода
- ✅ Полный контроль над структурой
- ✅ Нет внешних зависимостей
- ✅ Простота для малых проектов
- ✅ Глубокое понимание принципов
---
## Ссылки
- [GitHub Spec Kit Repository](https://github.com/github/spec-kit)
- [AWS Kiro Documentation](https://www.forbes.com/sites/janakirammsv/2025/07/15/aws-launches-kiro-a-specification-driven-agentic-ide/)
- [Tessl Framework Launch](https://tessl.io/blog/tessl-launches-spec-driven-framework-and-registry/)
- [Martin Fowler: Understanding Spec-Driven Development](https://martinfowler.com/articles/exploring-gen-ai/sdd-3-tools.html)
- [Claude Code Spec Workflow Guide](https://blog.promptlayer.com/claude-code-spec-workflow/)