35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
# ADR-009: Rename `adapters/` to `integrations/`
|
|
|
|
**Status:** Accepted
|
|
**Date:** 2026-05-04
|
|
|
|
## Context
|
|
|
|
The source spec (monorepo-architecture-spec-detailed-v5.md) uses `adapters/cms` and `adapters/api` for Payload and tRPC integration points. Clean Architecture also uses `adapters/` (or `interface-adapters/`) for transport-agnostic controller layer. The name collision is confusing.
|
|
|
|
## Decision
|
|
|
|
Use `integrations/` for role-based plug points (Payload and tRPC). Keep `interface-adapters/` for the Clean Architecture controller layer.
|
|
|
|
**Result:**
|
|
```
|
|
packages/<feature>/src/
|
|
interface-adapters/controllers/ ← Clean Architecture layer (transport-agnostic)
|
|
integrations/
|
|
cms/ ← Payload collections/globals
|
|
api/ ← tRPC routers
|
|
```
|
|
|
|
## Consequences
|
|
|
|
- No naming collision — intent is unambiguous
|
|
- `integrations/` semantically captures "external system integration" better than `adapters/`
|
|
- Minor deviation from source spec, documented here as deliberate choice
|
|
- All new features follow this naming consistently
|
|
|
|
## Alternatives Considered
|
|
|
|
- Keep `adapters/`: Collision with Clean Architecture terminology is confusing
|
|
- Use `external/`: Less specific; doesn't convey "Payload and tRPC"
|
|
- Rename Clean Architecture layer to `controllers/`: Could work; less standard
|