# Alveolus > Keep your domain model clean, whoever writes the code. Domain-Driven Design building blocks and architecture checks for TypeScript, for teams and their agents. ## Table of Contents ### Guide - [Getting started](/guide/getting-started.md) - [Project layout](/guide/project-layout.md) ### Integrations - [Integrations](/integrations.md) - [NestJS](/integrations/nestjs.md) ### Building blocks - [Building blocks](/core.md) ### Domain - [Aggregates](/core/domain/aggregates.md) - [Entities](/core/domain/entities.md) - [Value objects](/core/domain/value-objects.md) - [Domain events](/core/domain/domain-events.md) - [Domain errors](/core/domain/domain-errors.md) - [Domain Services](/core/domain/domain-services.md) - [Ports](/core/domain/ports.md) - [Repositories](/core/domain/repositories.md) - [Views](/core/domain/views.md) ### Application - [Command handlers](/core/application/command-handlers.md) - [Query handlers](/core/application/query-handlers.md) - [Event translators](/core/application/event-translators.md) - [Integration events](/core/application/integration-events.md) - [Event publishers](/core/application/event-publishers.md) - [Unit of Work](/core/application/unit-of-work.md) - [Outbox](/core/application/outbox.md) ### Strategic - [Published Language](/core/strategic/published-language.md) - [Open host services](/core/strategic/open-host-services.md) - [Anti-corruption layers](/core/strategic/anti-corruption-layers.md) ### Utilities - [Result](/core/utilities/result.md) ### Rules - [Rules](/rules.md) - [bc-isolation](/rules/bc-isolation.md) - [domain-purity](/rules/domain-purity.md) - [layer-direction](/rules/layer-direction.md) - [driven-adapters-extend-port](/rules/driven-adapters-extend-port.md) - [building-blocks-only](/rules/building-blocks-only.md) - [placement](/rules/placement.md) - [reference-by-identity](/rules/reference-by-identity.md) - [command-query-separation](/rules/command-query-separation.md) - [errors-as-values](/rules/errors-as-values.md)