|
Este artigo aborda a transição do "vibe coding" para a engenharia verificável através do Desenvolvimento Orientado por Especificação (Spec-Driven Development - SDD). (Traduzido com ajuda de IA, corrigido e ajustado por Macoratti) |

|
Sem especificações: • Cada nova sessão reinventa a arquitetura do zero. • "Concluído" significa simplesmente "o modelo disse que está pronto". • Desvios técnicos (drift) acumulam-se silenciosamente na base de código. Com especificações: • Os agentes implementam o código estritamente contra o documento. • Os revisores auditam a correspondência direta: especificação ↔ código. • Demonstrações e repasses apoiam-se na spec, nunca em improvisações. |
bmad-create-prd, bmad-create-architecture e bmad-quick-dev, que hoje funcionam apenas como atalhos de compatibilidade para os novo
• Análise (Analysis):
skills como bmad-brainstorming (geração de ideias), bmad-forge-idea (submete a ideia a perguntas socráticas, uma de cada vez, até consolidá-la ou descartá-la) e bmad-product-brief para validação inicial do problema.• Planejamento (Planning):
bmad-prd (requisitos do produto) e bmad-ux (experiência do usuário) para delimitar o escopo.• Solução (Solutioning):
bmad-architecture cria a espinha dorsal arquitetural em ARCHITECTURE-SPINE.md,
que é a fonte da verdade; a partir dela, bmad-spec deriva o SPEC.md de cada capacidade. Em seguida vêm a
criação de épicos e histórias. • Construção (Build): a cadeia bmad-sprint-planning → bmad-build → bmad-code-review, executada por
unidade de trabalho. |
_bmad-output/
├── forge/<ideia>/ # ideia consolidada, decisões fechadas
├── planning-artifacts/ # PRD, UX e espinha da arquitetura (ARCHITECTURE-SPINE.md)
├── specs/spec-capacidade/ # SPEC.md da capacidade, derivado da espinha
└── implementation-artifacts/ # histórias e status da sprint
|
openspec, executada no terminal (openspec init, openspec list, openspec archive), e os slash commands /opsx:*, digitados no chat do assistente de IA.
openspec/
├── config.yaml # configuração do projeto
├── specs/<capacidade>/spec.md # verdade viva da capacidade no sistema
└── changes/
├── <nome-da-mudanca>/ # delta de alteração proposto
┃ ├── proposal.md
┃ ├── design.md
┃ ├── tasks.md
┃ └── specs/...
└── archive/YYYY-MM-DD-<nome>/ # mudanças concluídas e arquivadas
|
| Skill | Finalidade |
openspec-explore |
Investiga o problema e a base de código, sem escrever código. |
openspec-propose |
Cria uma nova mudança e rascunha todos os artefatos de planejamento a partir de uma ideia. |
openspec-apply-change |
Implementa as tarefas técnicas da mudança contra a especificação proposta. |
openspec-verify-change |
Confere se a implementação corresponde às specs antes do arquivamento (perfil expandido). |
openspec-sync-specs |
Mescla os delta specs de uma mudança nas specs principais, sem arquivá-la. |
openspec-archive-change |
Mescla os deltas aprovados na spec viva e move a mudança para o arquivo. |
/opsx:explore: mapeia o problema e examina a base de código (opcional)./opsx:propose: cria a mudança e rascunha proposal.md, specs/, design.md e tasks.md./opsx:apply: executa a implementação técnica a partir das tarefas da spec./opsx:sync: mescla os deltas nas specs principais; normalmente é oferecido automaticamente pelo archive./opsx:archive: arquiva a mudança concluída após aprovação./opsx:verify, /opsx:new, /opsx:continue e /opsx:ff pertencem ao perfil expandido e precisam ser habilitados com openspec config profile seguido de openspec update. Dependendo da ferramenta, a sintaxe muda: o Claude Code usa /opsx:propose, enquanto Cursor, Windsurf e GitHub Copilot usam /opsx-propose.| Seu cenário | Abordagem recomendada |
| Novo projeto ou recurso (greenfield), necessitando ideação, narrativa e skills agênticas | BMAD |
| Produto existente, mudanças incrementais de capacidade e diffs avaliáveis em PRs | OpenSpec |
| Novas features complexas que demandam refinamentos contínuos após a v1 | Híbrido (bmad-forge-idea para ideação + um único dono canônico da spec) |
| Spikes individuais ou protótipos descartáveis | Spec enxuta de 10 linhas em Markdown — evite excesso de processo |
| Critério | BMAD | OpenSpec |
| Unidade de trabalho | Da ideia até a feature entregue em produção | Proposta de alteração na especificação |
| Ponto forte | Skills agênticas, personas e refinamento da ideia (forge) | Fluxo leve de propor, aplicar e arquivar, com rastreabilidade por diffs no Git |
| Artefatos gerados |
_bmad-output/ (forge, planning-artifacts, specs) |
openspec/changes/ e openspec/specs/ |
| Momento ideal | Projetos greenfield e novos módulos completos | Ajustes e incrementos em capacidades vigentes |
bmad-forge-idea): feche as decisões cedo — os três pilares do MCP (ferramentas, recursos e prompts), permissão apenas de leitura e criação na v1
(sem delete) e envelopes estruturados para tratamento de erros em cada tool.bmad-architecture): o ARCHITECTURE-SPINE.md estabelece o canal de transporte (stdio), a autenticação via tokens em variáveis de ambiente e a forma de carregamento do servidor no ambiente.bmad-spec): a partir da espinha, o SPEC.md cataloga cada tool, URI de recurso, nomes de prompts, critérios de aceite e códigos formais de erro.bmad-build): as histórias vinculam-se aos IDs da especificação, e bmad-code-review revisa cada entrega. Estar pronto significa ter os critérios de aceite aprovados.release-test-plan, combinada com o runbook, forma um fluxo
repetível e auditável atrelado à spec.jira_search_issues, execute o ciclo /opsx:propose add-jira-search-tool → /opsx:apply → verificação contra os critérios de aceite → /opsx:archive. A spec viva permanece sincronizada em openspec/specs/, e o
BMAD preserva o histórico de arquitetura.| Camada | Artefato gerado | O que impõe / garante |
| Spec |
SPEC.md |
O que deve existir; "concluído" = critérios de aceite atendidos |
| Arquitetura |
ARCHITECTURE-SPINE.md |
Como o servidor MCP e o sistema são construídos |
| MCP |
Servidor MCP do Jira |
Ferramentas invocáveis com respostas tipadas e estruturadas |
| Skill |
release-test-plan/SKILL.md |
Sequência rígida de etapas e pontos de aprovação obrigatórios |
| Verificação |
test-plan.md e relatório de
validação |
Validação humana confirmando: especificação ↔ arquivos em disco |
| Antipadrão | Por que falha |
| Spec criada depois do código | Gera uma documentação fictícia retroativa. |
| Dois responsáveis concorrentes pela spec | Divergência (drift) técnica garantida entre implementações. |
| Usar o chat da IA como especificação | Informação não pesquisável e impossível de auditar. |
| Ignorar critérios de aceite | O conceito de "pronto" torna-se puramente subjetivo. |
| Não vincular runbooks à spec | A passagem de conhecimento deteriora-se rapidamente. |
E estamos conversados..![]()
"Não estejais inquietos por coisa alguma; antes as
vossas petições sejam em tudo conhecidas diante de Deus pela oração e súplica,
com ação de graças."
Filipenses 4:6
Referências: