Estrutura do projeto¶
.atipspec/
config.yaml name, language, policies
.gitignore ignores tmp/
contract.md the architecture contract; its ```rules block is machine-checked
overview.md what the product is and where things live; curated, with an index block
glossary.md the project's canonical words
approvals/contract.json the contract's recorded acceptance, written by `atipspec accept contract`
teams.json optional: refs, owners, repositories, integration branch, ticket links
adapter.json optional: the process adapter `atipspec run` calls
specs/
auth.md living spec of the auth capability: requirements and scenarios
orders.md
decisions/
DEC-001-stack.md choices with lasting consequences
initiatives/
orders/roadmap.md deliveries grouped over months, with their interfaces
deliveries/
password-reset/
brief.md explore phase output, optional
spec.md intent, scope decisions and the requirement IDs it lists; status draft or ready
baseline.json the capability's living spec when the delivery started, written by `new`
plan.md scope, approach, tasks and final verification
contracts.json contracts pinned from other repositories, written by `new` and `contract-pin`
sources/ documents `spec-bind` imported, as they were
approvals/ local-proposal.json, local-result.json (local-spec, local-plan for legacy), written by `atipspec accept`
progress.json the tasks recorded with `atipspec task-done`
evidence/ written by `atipspec verify`
FINAL-20260913T154145.218304Z-3f9a1c2e.json
logs/ full command output and copied JUnit reports, with hashes
review.md written by the reviewer
review-rounds.json reviews counted, started by `atipspec accept`, written by `review` and `run`
run.json the runner's checkpoint, written by `atipspec run`
deferred.md findings postponed with a reason
reports/ report exports; on deliver, acceptance.json, the receipt
archive/
checkout-v2/ delivered; same files, status delivered, with reports/acceptance.json
migrations/<digest>/ originals backed up by `atipspec migrate --apply`
pilots/<name>/ pilot protocols and observations
enterprise/ examples `atipspec enterprise-init` writes
framework/
rules.md the rules every phase command prints
workflows/ explore, spec, fix, plan, build, review, contract, curate
templates/ spec, plan, fix-spec, fix-plan, brief, deferred, review, rubric, capability, contract, overview, glossary, decision, roadmap
tmp/ review packets and JUnit reports (`.atipspec/tmp/junit.xml`); ignored by git
.claude/skills/atipspec*/SKILL.md per client: one skill per phase plus the umbrella
.claude/settings.json Claude Code: asks before `atipspec accept` and edits to CI workflows or its settings, denies edits to approval, evidence and review round records
O que o modelo lê, e quando¶
| Momento | Lê |
|---|---|
| Skill invocada | o SKILL.md daquela fase, poucas linhas |
| O comando de fase roda | o que ele imprime: o workflow da fase, framework/rules.md e a saída de atipspec context <slug> |
| Escrevendo um artefato | seu template sob framework/templates/ |
Ele nunca navega por specs/ ou archive/ por inteiro, e nunca lê o
workflow de uma fase que a CLI não abriu. É isso que mantém limitado o custo
de uma requisição.
O que a CLI escreve¶
| Comando | Escreve |
|---|---|
init, install |
config.yaml, documentos esqueleto, framework/, skills do cliente, as regras de permissão do Claude Code mescladas em .claude/settings.json |
new, decision, initiative |
novas pastas e arquivos a partir de templates, baseline.json; uma linha no roadmap; com system definido, contracts.json |
spec-bind |
a spec viva, os IDs em spec.md, sources/ para uma importação |
accept |
approvals/local-*.json e status: ready na spec, e para uma proposta guiada o início de review-rounds.json; para o contrato, .atipspec/approvals/contract.json e status: accepted no contrato e nas decisões que ele lista |
task-done |
progress.json |
verify |
evidence/*.json e evidence/logs/ |
review |
tmp/<slug>-review-packet.md e review-rounds.json |
run |
run.json, progress.json, review-rounds.json, o review.md do revisor e o que o adaptador e verify escrevem |
contract-pin |
contracts.json |
report --out |
o dossiê, fora do repositório, sob tmp/ ou em reports/ da entrega |
deliver |
a spec viva, o recibo reports/acceptance.json, o status da entrega, a movimentação para archive/ |
migrate --apply |
a entrega convertida e sua spec viva, os backups sob migrations/ |
curate |
o bloco de índice de overview.md |
pilot |
pilots/<name>/ |
enterprise-init |
os exemplos sob enterprise/, ou em --out |
approve, sync-approvals, attest |
registros assinados de aprovação e de evidência com seus arquivos .sig |
Todo o resto é escrito pelo modelo ou por uma pessoa.