Architecture Decision Records — ITLab.Template.Next
ADRs são snapshots imutáveis de uma decisão arquitetural. Cada arquivo documenta uma decisão num ponto-no-tempo: contexto, trade-offs considerados, escolha feita, consequências. Quando uma decisão for revisitada ou substituída, não edite o ADR original — abra um novo que aponta para o anterior como Superseded.
ADRs do template (separados dos do DevPack que vivem em ~/.nuget/packages/itlab.template.devpack/{version}/devpack-docs/adrs/):
- ADR-001 — Vertical slices as canonical layout (non-negotiable)
- ADR-002 — English-only identifiers and comments in source code
- ADR-003 — JWT Bearer config-driven authentication (no placeholder gate) — Superseded by ADR-006
- ADR-004 — DB-backed role/permission resolution with IMemoryCache
- ADR-005 —
examples/ships as opt-in reference, not viadotnet newdefault - ADR-006 — Local ASP.NET Identity + dual-scheme (BFF cookie + Bearer JWKS) as default
- ADR-007 — Frontend SPA servido same-origin pela API (monorepo, shadcn/ui)
Quando adicionar um ADR:
- Numere sequencialmente (
NNN-slug.md). - Status:
Accepted(default),Superseded by ADR-XXX,Deprecated. - Estrutura: Context → Decision → Consequences → Alternatives considered (opcional).
- Indexe aqui.