Entities, aggregate roots, value objects, domain events and exceptions. No framework dependency.
Reusable Core.
Product-owned reality.
FoundationKit shares contracts and implementation primitives without owning each product’s database, migrations, credentials, deployment, business semantics or authorization policy.
Five explicit layers.
Results, validation, repositories/specifications, UoW, capability composition, modules, generic CRUD orchestration and reliability contracts.
Provider-neutral EF adapters, relational idempotency, domain-event dispatch and model-composition helpers.
Problem Details, correlation, generic endpoints, request-pipeline helpers, concurrency/idempotency and runtime contract metadata.
Typed API/error presentation state plus the reusable Soft Orbit design system, without server persistence ownership.
Boundary rules
Convenience never overrides dependency direction.
Core does not silently choose deployment databases for every consumer.
Commands mutate authoritative write models.
Multi-table/report reads are explicit read models rather than browser joins.
UI visibility is presentation, not a security boundary.
Unsupported shapes are rejected instead of silently generating ambiguous code.
End-to-end contract chain
Isolation is architectural, not cosmetic
FoundationKit supports many products from one reusable baseline while runtime state remains product-owned. No cross-project data, provider configuration, migrations, secrets or product roles should bleed into another generated system.