Architectural Decision Records
This directory contains Architectural Decision Records (ADRs) for the Feel Pro Club project.
Index
| ADR | Status | Decision |
|---|---|---|
| 0001 | Accepted | Use specification-driven development |
| 0002 | Accepted | Use React and Capacitor over React Native |
| 0003 | Accepted | Standardize runtime error handling and recovery |
| 0004 | Accepted | Store server notification copy as snapshots |
| 0005 | Accepted | Adopt a pnpm monorepo; supersede ADR 0001's repository-separation decision |
| 0006 | Accepted | Adopt conventional monorepo workspace directories |
| 0007 | Accepted | Adopt GCP as the managed backend platform |
| 0008 | Accepted | Adopt WorkOS authentication and application-owned identity |
| 0009 | Accepted | Manage GCP infrastructure with plain Terraform in the monorepo |
| 0010 | Accepted | Strictly scan API container images in CI |
| 0011 | Accepted | Defer a dedicated CDN for MVP media delivery |
| 0012 | Accepted | Adopt Turborepo for monorepo task orchestration and caching |
| 0013 | Accepted | Use an unconditional public object-reader binding |
| 0014 | Accepted | Adopt a single client codebase with a platform capability seam |
| 0015 | Accepted | Serve the web application from Cloudflare Pages; supersedes only ADR 0007's web-hosting clause |
What is an ADR?
An ADR captures an important architectural decision made along with its context and consequences. ADRs are immutable once accepted - if a decision needs to be changed, a new ADR is created that supersedes the old one.
Creating a New ADR
- Find the next available number by checking existing ADRs in this directory
- Copy the template:
cp templates/adr-template.md adr/NNNN-short-decision-title.md - Replace
NNNNwith the next sequential number (e.g.,0002) - Fill in all sections:
- Context: What motivates this decision?
- Decision: What change are we making?
- Consequences: What becomes easier or harder?
- Set the status to
Proposed - Submit for review
- Update status to
Acceptedonce approved
ADR Status Lifecycle
| Status | Meaning |
|---|---|
Proposed | Under discussion |
Accepted | Decision made and in effect |
Deprecated | No longer relevant |
Superseded | Replaced by a newer ADR |
Naming Convention
- File format:
NNNN-short-decision-title.md - Use kebab-case for the title portion
- Numbers are zero-padded to 4 digits (e.g.,
0001,0002)