ADR-001 — 採用 Turborepo Monorepo 架構

架構決策記錄 | 分類:基礎架構 | 負責人:陳建宏

背景脈絡(Context)

大豐 ACE 系統需要同時維護多個前端應用(admin、chief、coachy、onsite)與共用套件(ui、mock、types、tokens),傳統多 Repo 管理方式導致版本同步困難、重複程式碼問題嚴重。

決策內容(Decision)

採用 Turborepo 管理 Monorepo,搭配 pnpm workspace 進行依賴管理。所有 app 共用 @dafon/ui、@dafon/types 等 packages,確保 UI 一致性與型別安全。

後果影響(Consequences)

  • 優點:統一版本管理、程式碼共享、並行建置加速 CI/CD
  • 優點:型別安全在各 App 間完整傳遞
  • 缺點:初期學習曲線較高
  • 缺點:大型 Repo 搜尋效能可能下降

考慮的替代方案(Alternatives)

  • Git Submodules — 版本管理複雜,已排除
  • NPM Publish — 每次修改需發版,迭代速度慢
  • Nx — 功能豐富但設定繁瑣

ADR 資訊

狀態
已採納
分類
基礎架構
負責人
陳建宏
建立日期
2026-01-15
最後更新
2026-01-20

狀態操作