In this section: Glossary
Capability
Not every function or class deserves its own contract. A capability is the business-facing slice that does, the retry policy, the discount calculation, the onboarding flow. It has a name a product person would recognize, plus inputs, outputs, and a stated boundary of what it deliberately leaves out.
Capabilities are the unit the whole toolkit is built around. Contracts describe capabilities. The capability graph maps how they depend on each other. cdad init scaffolds one capability at a time, in domain/subdomain/actionform, so the granularity stays consistent as a repo grows.
Get the boundary wrong, usually by leaving thenon-goals empty, and the capability's contractstops meaning anything precise.