Spec Kit do GitHub - desenvolvendo software de alta qualidade mais rápido
(github.com/github)- Desenvolvimento orientado por especificação (Spec-Driven Development): uma abordagem que eleva a especificação (Spec), antes um recurso auxiliar no desenvolvimento tradicional, a uma especificação executável, com o objetivo de gerar diretamente implementações funcionais a partir dela
- Muda a prática centrada em código para enfatizar o desenvolvimento orientado por intenção, definindo primeiro o o quê e o porquê e detalhando depois o como
- A ideia central é criar entregáveis consistentes por meio da especificação e automatizar trabalhos repetitivos, permitindo que desenvolvedores foquem nos problemas do produto
- O Spec Kit é um conjunto de ferramentas que ajuda a converter essa especificação em artefatos executáveis, automatizando a implementação
- Após a instalação, use
/specifypara descrever o quê/porquê,/planpara declarar a stack/arquitetura e/taskspara gerar unidades de trabalho - O objetivo é ajudar organizações a sair da escrita de código comum não diferenciado e focar em cenários de produto, em um framework experimental que busca elevar ao mesmo tempo qualidade e velocidade por meio da abordagem orientada por especificação
Filosofia central: Core philosophy
- Uma mentalidade de especificação em primeiro lugar, com desenvolvimento orientado por intenção, priorizando o o quê e detalhando o como depois
- Escrita de especificações ricas com guardrails e princípios organizacionais, passando por um processo de refinamento em múltiplas etapas, em vez de geração de código pontual
- Uma forma de uso que depende ativamente da capacidade de interpretação de modelos avançados de IA para converter especificações em resultados executáveis
Processo orientado por especificação com o Spec Kit
- O Spec Kit coloca a especificação no centro do processo de engenharia, guiando implementação, checklists e decomposição de trabalho, enquanto os desenvolvedores atuam principalmente como orientadores
- O agente de codificação fica responsável pela maior parte da escrita
- O processo é composto por 4 etapas, cada uma com checkpoints claros, e a próxima etapa só começa quando o trabalho atual estiver totalmente validado
- Etapa Specify: ao fornecer uma descrição de alto nível, o agente de codificação gera uma especificação detalhada, focada na jornada do usuário, na experiência e nas métricas de sucesso, e não na stack técnica
- Mapeia quem é o usuário, qual problema está sendo resolvido, como será a interação e quais resultados são importantes
- Isso assume a forma de um artefato vivo, que evolui conforme o aprendizado sobre o usuário
- Etapa Plan: ao fornecer a stack desejada, a arquitetura e as restrições, o agente de codificação gera um plano técnico abrangente
- Inclui padrões tecnológicos da empresa, integração com sistemas legados, conformidade regulatória e metas de desempenho
- Também é possível solicitar várias versões de plano para comparação e, ao fornecer documentação interna, integrar diretamente padrões de arquitetura
- Etapa Tasks: com base na especificação e no plano, o agente de codificação decompõe o trabalho em blocos pequenos e revisáveis
- Cada tarefa pode ser implementada e testada de forma independente, e foi desenhada para que a IA consiga validar e acompanhar o trabalho
- Por exemplo, em vez de "construir autenticação", algo específico como "criar endpoint de cadastro de usuário com validação de formato de e-mail"
- Etapa Implement: o agente de codificação executa as tarefas uma a uma ou em paralelo, e os desenvolvedores revisam mudanças focadas
- A especificação informa o que construir, o plano informa como construir e as tarefas informam no que trabalhar
- Em cada etapa, os desenvolvedores refletem e refinam, exercendo um papel de validação para verificar se a especificação captura a intenção, se o plano considera as restrições reais e se há omissões ou casos de borda
Como usar o Spec Kit em workflows agentic
- O Spec Kit funciona com agentes de codificação como GitHub Copilot, Claude Code, Gemini CLI e, por meio de uma série simples de comandos, orienta o agente e gera artefatos
- Isso transforma prompts ambíguos em intenções claras para execução confiável
- Após inicializar o projeto, ao fornecer um prompt de alto nível com o comando /specify, o agente de codificação gera a especificação completa, focada no "o quê" e no "porquê" do projeto
- Com o comando /plan, ao fornecer uma direção técnica de alto nível, o agente de codificação gera um plano detalhado que respeita a arquitetura e as restrições
- Com o comando /tasks, decompõe a especificação e o plano em uma lista de tarefas executáveis, e o agente de codificação implementa os requisitos do projeto com base nisso
Fases de desenvolvimento: Development phases
- Etapa 0-to-1 (greenfield): dá suporte ao fluxo de geração de especificação → planejamento → criação de app pronto para produção, com base em requisitos de alto nível
- Etapa de exploração criativa: enfatiza um processo de experimentação com diferentes stacks/arquiteturas e padrões de UX por meio de implementações em paralelo
- Etapa de melhoria incremental (brownfield): um desenvolvimento evolutivo que repete adição de funcionalidades, modernização de legado e adaptação de processos
Três cenários em que essa abordagem funciona bem
- Greenfield (zero-to-one): ao iniciar um novo projeto, em vez de começar a programar de imediato, cria-se antes a especificação e o plano para garantir que a IA construa o que foi pretendido, oferecendo resultados personalizados em vez de soluções genéricas baseadas em padrões comuns
- Trabalho de funcionalidades em sistemas existentes (N-to-N+1): ao adicionar funcionalidades a uma base de código complexa, a especificação esclarece como a nova funcionalidade interage com o sistema existente, e o plano codifica as restrições arquiteturais para gerar código que pareça nativo
- Isso torna o desenvolvimento contínuo mais rápido e seguro, embora possa exigir técnicas avançadas de engenharia de contexto
- Modernização de legado: ao reconstruir sistemas legados nos quais a intenção original se perdeu, o processo do Spec Kit captura a lógica de negócio essencial em uma especificação moderna e planeja uma arquitetura nova para que a IA reconstrua sem dívida técnica
Prerequisites
- Requer Linux/macOS ou WSL2 no Windows
- Escolha entre Claude Code, GitHub Copilot, Gemini CLI e Cursor como agente de IA
9 comentários
Lembra o Copilot Workspace.
Parece que isso vai se tornar a base da programação com IA baseada em linguagem natural.
A vantagem do Spec Kit do GitHub é que ele também pode ser usado no GitHub Copilot.
Como foi feito pelo GitHub, isso é até esperado, mas muitas outras ferramentas eram baseadas no Claude.
Lembra o Kiro IDE.
Interessante. Até faz sentido também.
O link com a apresentação detalhada de SDD no meio do texto é muito bom. Abaixo está um resumo que fiz com IA.
Desenvolvimento Guiado por Especificação (Specification-Driven Development, SDD)
The Power Inversion
The SDD Workflow in Practice
Why SDD Matters Now
Core Principles
Implementation Approaches
Streamlining SDD with Commands
/specify: converte a descrição da funcionalidade em uma especificação estruturada e automatiza numeração automática, criação de branch e configuração de diretórios baseados em template/plan: análise da especificação → revisão de conformidade com a constituição → tradução técnica → documentação de modelo de dados, contrato de API e cenários de teste → geração de validação de quickstart/tasks: lêplan.mde os designs relacionados para produzir uma lista de tarefas executável, além de indicar tarefas paralelizáveis e agrupamento seguro para paralelizaçãoThe Power of Structured Automation
Template-Driven Quality
[NEEDS CLARIFICATION]induz proibição de suposições e perguntas explícitasimplementation-details/para manter a legibilidadeThe Constitutional Foundation
memory/constitution.mdcom princípios imutáveis para manter todas as implementações consistentes, simples e de alta qualidadeThe Transformation
Com qual IA você organizou isso?
Foi feito com o GPT-5. Eu uso um prompt bem longo que organizei para fins de resumo.
Concordei bastante com o conceito, então fiz alguns testes no fim de semana com um projeto novo, mas não funcionou tão bem quanto eu esperava. Acho que ainda precisa de muitas melhorias. Por enquanto, o fluxo geral parece ser mais ou menos o seguinte, como já foi apresentado várias vezes:
redigir a constituição → redigir a especificação → redigir as tarefas → implementar
O problema é que
constitution.mdé o guia central sobre "como desenvolver", mas não contém "o que este app será no final"spec.mdé um documento que descreve uma funcionalidade/specifye/tasaksgeram muitos documentos como resultado (que era o que eu queria), e por isso o contexto é consumido rapidamente (estou usando Claude Code)tasks.md, às vezes você sobrescreve algo que tinha feito corretamente antes, e no processo de corrigir bugs acaba criando novas funcionalidades, então vai se afastando cada vez mais dotasks.md. Não vejo muito sentido em mantertasks.mdpermanentemente.Por enquanto, a conclusão a que cheguei é a seguinte: