Repository map
Where services, platform docs, and the documentation portal live in this repository.
Top-level layout
| Path | What it is |
|---|---|
services/<name>/ | A deployable Go service with its own database, migrations, and handlers |
docs/ | Binding platform design (architecture.md), local dev, ADRs, and accounting domain notes |
frontend/docs-app/ | This documentation portal (Next.js + Fumadocs MDX) |
Makefile | Local dev orchestration: Compose, migrations, tests, OpenAPI merge |
openapi.yaml | Merged platform spec (deployed services only; template is excluded today) |
Services today
Platform docs outside the portal
Some material still lives under docs/ at the repository root:
docs/architecture.md— binding design; read before changing storage, transport, events, or authzdocs/decisions/— ADRs with alternatives and reasoningdocs/toolchain.md— stack choicesdocs/accounting/— chart-of-accounts domain design and open questions
The portal summarizes and links to these; when they disagree with running code, code wins.
Reference service vs production service
template is copied to start new services. Its domain (Widget) is throwaway; the wiring
(Postgres, Cedar, idempotent commands, transactional outbox, enveloped HTTP) is what matters.
accounting is the first real service. It implements the chart of accounts slice and publishes
account.created events. The ledger package exists as a placeholder for the next slice.