架構

ADR · 架構決策記錄

ADR(架構決策記錄)是一份簡短的文件,用來記錄一個重要的技術決策,以及同樣重要的——「為什麼」這麼決定。幾個月後,當有人問「我們當初到底為什麼要這樣做?」,答案早已白紙黑字寫在那裡。

每一份 ADR 都很短,並遵循同樣的結構:背景(迫使你做選擇的處境)、決策(我們選了什麼)、理由(為什麼)、備選方案(我們考慮過的其他做法),以及後果(我們因此得到什麼、又要承擔什麼)。

你把它們當作純 markdown 檔案放在專案裡,按順序編號(0001、0002……),於是團隊的思考過程會沉澱成一段可讀的歷史,而不是消失在某個人的記憶裡。

# 0001 · Use PostgreSQL for the primary datastore

## Status
Accepted — 2026-06-09

## Context
<What situation forces a decision? Constraints, forces at play.>

## Decision
<The choice we are making, stated plainly.>

## Rationale
<Why this option, in one or two honest sentences.>

## Alternatives considered
- <Option B> — why not
- <Option C> — why not

## Consequences
<What gets easier, what gets harder, what we now live with.>

一個最小的 ADR 模板——複製到 docs/adr/0001-title.md,把角括號裡的內容填上即可。

讓它們保持不可變:不要去改舊的 ADR——如果決策變了,就寫一份新的來取代它。這條「想法如何改變」的軌跡,正是它的價值所在。

又稱
architecture decision recorddecision logdecision record