Small contracts.
Serious systems.
FoundationKit focuses on reusable system capabilities instead of product-specific features: application orchestration, CRUD/API generation, SQL-first reads, authorization, workflow, approvals, notifications, settings, caching, localization and reliability.
Configuration-first without hidden magic.
Application-level CRUD behaviors are composed through explicit contracts and resource configuration.
HTTP endpoints are emitted from the same model and remain aligned with runtime contract metadata.
Failures are shaped consistently instead of leaking arbitrary exception formats.
CRUD events can emit bounded audit intent without hard-coding a product audit store.
Complex queries belong on the server.
Writes remain entity/table based. Multi-table responses, reports and statements default to dedicated SQL View-backed Read Models with thin services and server-side filter, sort, count and paging.
Provider-neutral IReadModelStore<TReadModel> boundary.
Keyless EF mappings and generated view DDL keep reporting shapes explicit.
Frontend code consumes server endpoints instead of recreating relational logic.
Single aggregate GetById can continue through the normal repository path.
Safe retries and isolated products.
Bounded contracts plus relational adapter prevent duplicate effects for supported request flows.
Optimistic concurrency behavior is explicit at the HTTP/resource boundary.
Requests carry traceable correlation context across the API pipeline.
Each generated host owns its provider, schema, migrations, secrets and deployment.
Composable, bounded, replaceable.
Permissions, roles, grants, evaluator and ownership primitives.
Deterministic transitions plus maker-checker approval gates.
Channel-neutral contracts with a narrow SMTP reference provider.
Bounded configuration values and explicit feature decisions.
Culture metadata, fallback, RTL/LTR directionality and time-zone identity.
Byte-cache contracts with TTL/hit/miss/remove semantics and in-memory reference implementation.