Architecture Decision Records
This directory contains Architecture Decision Records (ADRs) - documents that capture important architectural decisions made during the development of Tenki Cloud.
What is an ADR?
An ADR is a document that captures an important architectural decision made along with its context and consequences. Each ADR describes a single decision and is immutable once accepted.
ADR Template
# ADR-XXX: Title
## Status
[Proposed | Accepted | Deprecated | Superseded by ADR-YYY]
## Context
What is the issue that we're seeing that is motivating this decision or change?
## Decision
What is the change that we're proposing and/or doing?
## Consequences
What becomes easier or more difficult to do because of this change?
### Positive
- List of positive consequences
### Negative
- List of negative consequences
## Alternatives Considered
What other options were evaluated and why were they rejected?
Current ADRs
- ADR-001: Monorepo Structure - Using monorepo for all services
- ADR-002: Temporal for Workflow Orchestration - Workflow engine choice
- ADR-003: Connect RPC over REST - API protocol decision
Creating a New ADR
- Copy the template above
- Create a new file:
XXX-short-description.md(increment XXX) - Fill out all sections
- Submit PR for review
- Once accepted, the ADR becomes immutable
When to Write an ADR
Write an ADR when:
- Selecting key technologies (databases, frameworks, protocols)
- Defining major architectural patterns
- Making security decisions
- Choosing between significant alternatives
- Deprecating existing patterns
ADR Lifecycle
- Proposed - Under discussion
- Accepted - Decision made and being implemented
- Deprecated - No longer recommended but still in use
- Superseded - Replaced by another ADR