Work / canon / Wiki / Concepts
company-map
Conceptverified 2026-11-02
company-map
The map says who and what each part of a company belongs to. Changing it moves no knowledge. Decided in product-model.
- One of everything: no map file. The repo's
.context/context.yamlis enough, and the app hides Company, Team and Client. - More than one: the first second product, team or client adds
canon.yamlto a company repo, which also holds company-wide knowledge. A company with one repo may keep it there and move it later. - A product's parts are a repo, or a path in a repo, so a monorepo can split without a change of model.
- Clients: each has its own small file, only if it has real customizations. A client with none is a name in a list.
- Changes: a pull request, like any other knowledge. Canon suggests the first map after the first sync; onboarding asks nothing about it.
- At scale: the app shows counts, search and filters, never long trees.
# canon.yaml. A sketch: the format is decided when the CLI reads it.
company: acme
products:
- id: payments
parts:
- { repo: acme, path: services/payments, team: core }
- { repo: payments-api, team: core }
teams:
- { id: core, owners: [sam] }
clients:
- { id: bigbank, product: payments, repo: bigbank-custom }