Estructura del proyecto¶
.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
Qué lee el modelo, y cuándo¶
| Momento | Lee |
|---|---|
| Se invoca el skill | el SKILL.md de esa fase, unas pocas líneas |
| Se ejecuta el comando de la fase | lo que imprime: el workflow de la fase, framework/rules.md y la salida de atipspec context <slug> |
| Se escribe un artefacto | su plantilla bajo framework/templates/ |
Nunca recorre specs/ ni archive/ en su totalidad, y nunca lee el
workflow de una fase que el CLI no ha abierto. Eso es lo que mantiene
acotado el coste de una petición.
Qué escribe el CLI¶
| Comando | Escribe |
|---|---|
init, install |
config.yaml, documentos esqueleto, framework/, los skills de los clientes, las reglas de permisos de Claude Code fusionadas en .claude/settings.json |
new, decision, initiative |
carpetas y ficheros nuevos a partir de plantillas, baseline.json; una línea de roadmap; con system definido, contracts.json |
spec-bind |
la spec viva, los IDs en spec.md, sources/ en una importación |
accept |
approvals/local-*.json y status: ready en la spec, y para una propuesta guiada el inicio de review-rounds.json; para el contrato, .atipspec/approvals/contract.json y status: accepted en el contrato y en las decisiones que lista |
task-done |
progress.json |
verify |
evidence/*.json y evidence/logs/ |
review |
tmp/<slug>-review-packet.md y review-rounds.json |
run |
run.json, progress.json, review-rounds.json, el review.md del revisor y lo que escriben el adaptador y verify |
contract-pin |
contracts.json |
report --out |
el dosier, fuera del repositorio, bajo tmp/ o en reports/ de la entrega |
deliver |
la spec viva, el recibo reports/acceptance.json, el status de la entrega, el traslado a archive/ |
migrate --apply |
la entrega convertida y su spec viva, las copias de seguridad bajo migrations/ |
curate |
el bloque de índice de overview.md |
pilot |
pilots/<name>/ |
enterprise-init |
los ejemplos bajo enterprise/, o en --out |
approve, sync-approvals, attest |
registros firmados de aprobación y de evidencia con sus ficheros .sig |
Todo lo demás lo escribe el modelo o una persona.