DEV Community

Jady Sobjak de Mello Godoi
Jady Sobjak de Mello Godoi

Posted on

Github Speckit: Revolucionando o Desenvolvimento com SDD

Introdução

Hoje, quero te contar sobre uma experiência que tive com uma nova forma de desenvolver software, algo que me deixou realmente empolgada. É como quando você descobre aquela ferramenta que muda a forma como você faz tudo — e isso é exatamente o que o GitHub Speckit fez por mim!

O GitHub Spec Kit, ou Speckit, é uma solução incrível para o desenvolvimento software que segue a metodologia de Desenvolvimento Orientado a Especificações, ou SDD. Esse kit ajuda a estruturar ideias e documentações antes mesmo de começarmos a programar, permitindo um trabalho mais preciso e organizado, especialmente quando utilizamos IA.

Vamos mergulhar um pouco mais no que torna essa ferramenta tão especial?

O que é o GitHub Speckit?

O Speckit é como aquele amigo sábio que te guia em cada passo do desenvolvimento, garantindo que você esteja no caminho certo. Em vez de apenas te jogar na selva do código, ele ajuda a elaborar princípios de projeto, escopo, regras de clean code e requisitos de ponta a ponta.

Estrutura do Speckit

  1. Arquitetura Estruturada: Instrui a IA a formar uma base sólida de princípios e requisitos.
  2. Documentos Vivos: Funciona como um "mapa" que a IA consulta e atualiza constantemente.
  3. Divisão de Tarefas (Tasking): Transforma projetos complexos em listas de tarefas menores, garantindo clareza e precisão.

Uma vez que você coloca as especificações do projeto no Speckit com o comando inicial /speckit.constitution, ele te guia, passo a passo, até a implementação final. Veja abaixo o passo a passo.

Esquematização do Github Speckit

Passo a passo do Speckit

Vamos detalhar como cada comando do Speckit funciona e sua importância no fluxo de desenvolvimento:

Instalação

Para começar, você precisa instalar o Speckit em seu projeto com:

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
Enter fullscreen mode Exit fullscreen mode

A partir daqui, você pode iniciar o Speckit no diretório do projeto:

specify init . --integration opencode
Enter fullscreen mode Exit fullscreen mode

Dica: Coloque a pasta .opencode no .gitignore, mas mantenha a .specify no repositório GitHub.

Estruturando o Desenvolvimento

/speckit.constitution

Aqui é onde você define as regras do projeto. Padrão de código... Digite no prompt do opencode, algo do tipo:

/speckit.constitution Este projeto segue princípios SOLID, testes obrigatórios, clean architecture
Enter fullscreen mode Exit fullscreen mode

/speckit.specify

É usado para descrever o que você quer construir (features novas), e não para analisar código existente. Para documentar o que seu projeto já faz, você precisa descrever manualmente no comando:

/speckit.specify Meu projeto já existente faz A, B, C. Ele tem as seguintes funcionalidades: [detalhes]. Quero documentar isso como especificação.
Enter fullscreen mode Exit fullscreen mode

/speckit.clarify

Use este comando para refinar seu pedido antes de seguir para a implementação:

/speckit.clarify
Enter fullscreen mode Exit fullscreen mode

Este é o momento de esclarecer ambiguidades e melhorar a especificação com a ajuda da IA.

/speckit.plan

Transforma sua ideia em um plano estruturado, quebrando o problema em partes menores e etapas definidas:

/speckit.plan
Enter fullscreen mode Exit fullscreen mode

/speckit.tasks

A partir do plano, gera uma lista de tarefas executáveis, simplificando o processo de desenvolvimento:

/speckit.tasks
Enter fullscreen mode Exit fullscreen mode

/speckit.implement

Finalmente, tudo que foi planejado é transformado em código real:

/speckit.implement
Enter fullscreen mode Exit fullscreen mode

Comparação e Experiência Prática

Experimentei o desenvolvimento do mesmo aplicativo em diferentes abordagens de IA. Primeiro, apenas com o OpenCode no VSCode, que demandou revisões constantes. Depois, usei a skill grill-with-docs, que foi um pouco mais organizada e me trouxe bons resultados, mas ainda exigia supervisão e revisão. Com o Github Speckit, porém, foi impressionante: um plano bem estruturado, passos audíveis e uma execução precisa, resultando em um programa que rodou sem erros na primeira tentativa.

Conclusão

A experiência com o Github Speckit me fez refletir sobre como as ferramentas de IA podem transformar nosso papel como desenvolvedores. Não se trata de substituir, mas sim de evoluir com o apoio de uma tecnologia que nos liberta das tarefas operacionais, possibilitando que o foco esteja na criação e no entendimento do projeto.

Então, para você que como eu ama tecnologia, vale a pena explorar o Speckit e ver como ele pode elevar o seu desenvolvimento a outro nível. Afinal, entender as origens e a lógica por trás de cada linha de código continua sendo nossa arte e talento insubstituíveis.

Top comments (1)

Collapse
 
czargrouber profile image
Cesar Roberto Godoi

Muito bom! Também uso SDD!