Declare the business
Modules group the parts of the company. Entities hold records. Custom value types tighten primitives. Relationships link independent records; sub-entities compose children that cannot exist alone. Commands are the only write path. Business rules decide what is allowed before and after actions run.