- Status: Proposed | Accepted | Superseded by ADR-NNNN | Deprecated
- Date: YYYY-MM-DD
- Affects: <list packages, files, or surfaces this decision constrains>
What forces are at play? What's the current state of the world that makes this decision necessary? Keep it factual — describe the problem, not the solution.
What did we decide? State it plainly, in one or two sentences. Then list the concrete rules / constraints that flow from this decision.
What changes because of this decision? Both:
- Positive — what becomes easier or possible.
- Negative — what becomes harder, what we now have to maintain, what trade-off we accepted.
Don't pretend a decision has no downsides. The honest cost is what makes the ADR useful when someone later wonders "why didn't we just do X?".
What did we reject, and why?
- Alternative A — short description. Rejected because: .
- Alternative B — short description. Rejected because: .
If there were no real alternatives, write that. If the decision is reversible, note that too.
- Related ADRs: ADR-NNNN, ADR-NNNN
- Related code:
path/to/file.js,cppjs-packages/cppjs-package-X/ - External references: links, issues, PRs