---
description: Keep project documentation current—ADRs, mission, editor docs, README checklist
alwaysApply: true
---

# Documentation Maintenance

When changing behavior, architecture, or user-facing workflows, **update docs in the same task**—do not defer.

## Doc map (single source of truth: [docs/README.md](../../docs/README.md))

| Change type | Update |
|-------------|--------|
| Architecture / crate boundary / sim-network split | New or updated ADR in `docs/adr/` |
| Editor framework intent, principles, non-goals | `docs/mission.md` |
| Editor feature design or phase status | `docs/editor/` (see its README) |
| User controls, run commands, troubleshooting | Root `README.md` |
| Shipped feature completion | Root `README.md` Implementation Checklist |
| Bevy upgrade policy | ADR 0002 + migration notes in `docs/adr/` |
| Milestone scope (pre-implementation) | `.cursor/plans/` plan file |

## ADRs

Create `docs/adr/NNNN-short-title.md` when a decision is **hard to reverse** or affects multiple crates (rendering path, scene format, PIE semantics, settings schema, netcode choice).

Format: Status, Context, Decision, Consequences. Number sequentially. Link from `docs/README.md` and root README.

## Coherence rules

- **One home per fact.** Link across docs; do not copy paragraphs between README, mission, and ADRs.
- **Intent vs implementation:** mission/ADRs = *why*; README = *how to use*; crate module docs = *local API*.
- **Plans vs permanent docs:** `.cursor/plans/` holds working roadmaps; promote stable decisions into `docs/` when implemented.
- **Stale docs are bugs.** If code contradicts docs, fix both or fix docs in the same PR/task.
- **New subsystems** get a short entry in `docs/README.md` and, if editor-facing, `docs/editor/README.md`.

## Agent checklist (end of relevant tasks)

1. Did behavior or UX change? → README controls / checklist
2. Did architecture or policy change? → ADR or mission
3. Did editor workflow change? → `docs/editor/`
4. Added a new doc file? → index in `docs/README.md`
5. Left a deliberate gap? → "Future work" in README or an ADR Consequences section—not silent omission
