Este arquivo e o contrato universal do projeto para pessoas, agentes de IA e ferramentas automatizadas. Ele deve ser lido antes de qualquer implementacao relevante.
Ele nao substitui a documentacao completa. Ele resume as regras obrigatorias, a arquitetura esperada e o caminho para encontrar contexto nos documentos certos.
Este arquivo e um template. No primeiro chat de escopo, ele deve ser revisado e ajustado ao projeto real.
Adapte especialmente: proposito, regras inviolaveis, stack, estrutura de pastas, fluxo de trabalho, Definition of Done e referencias de documentacao.
- Nome:
SpecFirst - Tipo: framework de documentacao em Markdown para projetos.
- Problema resolvido: projetos iniciam sem contrato claro de contexto, arquitetura, validacao e fluxo de trabalho para humanos e agentes de IA.
- Publico-alvo: pessoas desenvolvedoras, product builders, equipes pequenas, agentes de IA e ferramentas automatizadas que precisam operar sobre um projeto com regras claras.
- Resultado esperado: qualquer novo projeto pode copiar
AGENTS.mdedocspara nascer com documentacao minima, criterio de pronto e trilha de contexto.
Liste regras que nenhum agente ou desenvolvedor deve quebrar sem registrar uma decisao.
Exemplos:
- Nunca criar codigo fora da arquitetura definida em
docs/architecture.md. - Todo comportamento novo relevante deve ter teste.
- Nenhum commit pode quebrar lint, testes ou typecheck.
- Entradas externas devem ser validadas na fronteira apropriada.
- Decisoes arquiteturais devem ser registradas em
docs/decision-log.md.
Regras do SpecFirst:
- A raiz do repositorio e o template replicavel.
- Os arquivos devem permanecer genericos o bastante para serem copiados para novos projetos.
- No primeiro chat de escopo de um projeto novo, a IA deve revisar todos os arquivos do framework com o humano e propor ajustes ao projeto real, incluindo
AGENTS.md,README.md, adaptadores de ferramenta edocs/*. - Arquivos que nao se aplicam ao projeto podem ser removidos somente apos aprovacao humana explicita, desde que suas referencias sejam limpas de
README.md,AGENTS.md,docs/README.mde documentos relacionados. - Toda nova rota de documentacao deve ser refletida em
README.md,AGENTS.mdedocs/README.md. - A IA e responsavel pelo progresso: nenhuma tarefa e considerada concluida sem atualizar o status correspondente em
docs/issues.md, o checklist ou fase atual emdocs/implementation-plan.mde o rastro tecnico emdocs/deployment-log.md. - Arquivos especificos de ferramenta, como
CLAUDE.md,.cursorrulesou similares, sao adaptadores operacionais. Eles nao devem duplicar nem contradizerAGENTS.md. - Toda documentacao pode evoluir quando o escopo ou o projeto mudar, desde que mudancas relevantes sejam propostas pela IA e validadas pelo humano.
Explique as tecnologias principais e suas versoes quando isso afetar decisoes.
- Linguagem: Markdown.
- Framework: estrutura documental propria baseada em
AGENTS.md + docs. - Banco: nao aplicavel.
- UI: nao aplicavel.
- Testes: revisao estrutural dos links, rotas e consistencia dos documentos.
- Deploy: distribuicao por copia de
AGENTS.mdedocsou publicacao do repositorio.
/README.md-> guia de uso do SpecFirst./AGENTS.md-> contrato universal copiavel para novos projetos./CLAUDE.md-> adaptador operacional para Claude Code./docs-> documentacao canonica copiavel.
Todo trabalho relevante deve seguir este ciclo:
- Entender objetivo, contexto operacional e criterio de pronto.
- Em projeto novo, propor a adaptacao do framework inteiro ao escopo e aguardar validacao humana antes de implementar.
- Ler
AGENTS.mde docs relevantes. - Escrever ou ajustar testes quando houver comportamento novo.
- Implementar o menor incremento seguro.
- Refatorar quando houver duplicacao real ou complexidade desnecessaria.
- Validar com os checks definidos em
docs/testing.md. - Sincronizar progresso em
docs/issues.md,docs/implementation-plan.mdedocs/deployment-log.md. - Atualizar docs quando arquitetura, modelo ou fluxo mudar.
Uma tarefa so esta pronta quando:
- o comportamento solicitado foi implementado;
- testes relevantes foram criados ou atualizados;
- tipagem, lint e checks aplicaveis foram executados;
- entradas externas estao validadas;
- nao ha duplicacao evidente;
- a arquitetura foi respeitada;
docs/issues.mdregistra o status e o historico da issue;docs/implementation-plan.mdreflete o avanco da fase ou checklist;docs/deployment-log.mdregistra o rastro tecnico da entrega;- documentacao foi atualizada quando necessario;
- impossibilidades ou riscos residuais foram registrados.
Ler sempre antes de implementacoes relevantes:
docs/project-overview.mddocs/README.mddocs/architecture.mddocs/ai-workflow.mddocs/coding-standards.mddocs/testing.md
| Documento | Quando consultar |
|---|---|
docs/domains.md |
Ao alterar fronteiras de responsabilidade. |
docs/data-model.md |
Ao alterar dados, schemas, entidades ou persistencia. |
docs/design-guidelines.md |
Ao criar ou alterar UI, estilo visual, componentes, layout, marca ou experiencia frontend. |
docs/security.md |
Ao tocar auth, permissoes, uploads, secrets ou dados sensiveis. |
docs/workflows.md |
Ao alterar jornada operacional ou fluxo de usuario. |
docs/operations.md |
Ao mexer em ambiente, deploy, backups ou operacao. |
docs/templates.md |
Ao criar padroes reutilizaveis de UI, codigo ou documento. |
docs/tooling-adapters.md |
Ao criar ou revisar adaptadores para Claude Code, Cursor, Windsurf ou outras ferramentas. |
docs/decision-log.md |
Quando houver decisao arquitetural nova ou conflito entre regras. |
docs/deployment-log.md |
Ao registrar o que foi tecnicamente entregue, arquivos alterados, checks e riscos. |
docs/implementation-plan.md |
Ao planejar fases, sprints ou sequencia de entrega. |
docs/implementation-governance.md |
Ao controlar escopo, travas de fase e autorizacoes humanas. |
docs/issues.md |
Ao executar trabalho planejado por issue. |
AGENTS.mde o contrato universal.docs/*e a fonte canonica tecnica e de produto.- Arquivos de ferramenta, como
CLAUDE.md,.cursorrulesou similares, sao adaptadores operacionais. - Em caso de conflito, seguir
AGENTS.md, docs canonicos edocs/decision-log.md.
O humano atua como navegador: define o que sera feito, por que sera feito, prioridades, contexto de negocio e decisoes de arquitetura, produto e escopo.
A IA atua como piloto: propoe caminhos tecnicos, escreve codigo, gera testes, lida com boilerplate, executa refatoracoes mecanicas e mantem a documentacao sincronizada.
Nunca:
- implementar sem entender o objetivo;
- criar arquitetura complexa sem necessidade comprovada;
- esconder tradeoffs ou riscos;
- deixar regras importantes apenas na memoria da ferramenta.
- decidir sozinha mudancas de escopo, arquitetura, produto, modelo de dados, seguranca ou remocao de documentos.
- remover arquivos do framework sem aprovacao humana explicita.
Sempre:
- simplificar solucoes;
- manter entregas pequenas;
- preferir contratos claros;
- pedir decisao humana quando houver mais de um caminho relevante;
- apresentar plano curto antes de executar trabalho amplo;
- validar antes de concluir;
- sincronizar issue, plano e log tecnico antes de encerrar uma tarefa;
- atualizar docs quando a decisao mudar.