Architecture Decision Records (ADRs)

An Architecture Decision Record (ADR) documents a significant architectural choice, the context that led to it, and the consequences of the decision.

How to Create a New ADR

  1. Copy ADR-NNN-template.md to ADR-NNN-<kebab-case-title>.md

  2. Fill in all sections

  3. Add a row to the index table below and the toctree

  4. Open a PR

ADR Index

ADR

Title

Status

ADR-NNN-template

Template

✅ Accepted

ADR-001-ai-python-toolchain

Python Toolchain (Version, Package Manager & Project Structure)

✅ Accepted

ADR-002-backend-architecture

Backend Architecture

✅ Accepted

ADR-003-ai-formatter-and-linter

Formatter and Linter

✅ Accepted

ADR-004-ai-type-checker

Python Type Checker

✅ Accepted

ADR-005-ai-unit-testing

pytest as Testing Framework for the AI Team

✅ Accepted

ADR-006-sprintstart-backend-architecture

Spring Modulith as Application Framework

✅ Accepted

ADR-007-sprintstart-backend-event-based-communication

Event-Based Inter-Module Communication

✅ Accepted

ADR-008-sprintstart-backend-module-architecture

Backend Module Structure

✅ Accepted

ADR-009-sprintstart-backend-language-choice

Kotlin as Primary Language

✅ Accepted

ADR-010-Secrets-Management-Strategy

Secrets Management Strategy

✅ Accepted

ADR-011-frontend-framework

Frontend Framework

✅ Accepted

ADR-012-ci-cd-tooling

CI/CD Pipeline

✅ Accepted