Skip to content

Architecture Decision Records

ADRs capture the why behind agentcook's structural choices. Each record describes the context, the alternatives we considered, the decision, and the consequences.

The canonical copies live in the repository under docs/adr/ — this page mirrors the index so the same set is discoverable from the docs site.

Index

#TitleTopic
ADR-001Multi-package monorepoRepo structure
ADR-002LangGraph integrationAgent orchestration
ADR-003Design tokensShared visual primitives
ADR-004Plugin sandboxTool isolation
ADR-005Observability stackOTel + Jaeger + Prometheus + Langfuse
ADR-006Blue/green deploymentRelease strategy
ADR-007Test pyramidUnit / integration / contract / e2e
ADR-008API versioningURL-path /v1, semver, freeze + bump
ADR-009Parallel frontendsadmin (Vue) vs app (React)
ADR-010Desktop distributionElectron packaging
ADR-011Agent memoryFour-layer Identity/Soul/Memory/Diary
ADR-012Agent harness philosophy9-dimension framework
ADR-013Java business backendPython ↔ Java boundary

How to read these

Each ADR follows the Michael Nygard template: Context describes the forces at play, Decision is the chosen option, Consequences are the trade-offs we are now living with.

When a decision changes, we don't edit the old ADR — we add a new one that supersedes it. Status fields at the top indicate proposed, accepted, superseded by ADR-NNN.

Proposing a new ADR

bash
cp docs/adr/ADR-XXX-template.md docs/adr/ADR-014-your-topic.md
# fill in context / decision / consequences
git add docs/adr/ADR-014-your-topic.md
git commit -m "ADR-014: short description"

Open a PR — at least one reviewer should sign off before merging.

Released under the Apache 2.0 License.