# Overview

## Intent

The extensions pages hold conditional provision bundles a project adds only when a specific need appears, from caching and audit trails to multitenancy and delivery, so a project carries no provision it does not need. Each bundle stays inactive until a current need meets the criterion its page states, and the project records each choice with its criterion. A team facing a need the default provisions do not cover reads the candidate page and selects only the extensions whose criteria hold today.

## How to Select an Extension

Each extension below states its own activation criterion and whether it applies to the whole project or to named records. A project selects every extension whose criteria hold and no extension whose criteria do not, and lists each selection in `selectedExtensions` in `.litespec/project.json` with the criterion it met. The manifest repeats each activation scope, replacement list, and switched-on record type where checks read it. Most extensions add provisions without replacing any; the audit and outbox pages each name the one baseline provision they replace.

## Project Extensions

Selected once for the whole project:

- [Agent Delegation](https://litespec.dev/4.0.0/ext/delegation.md): briefs and containment for one agent starting another on the same tree.
- [AI Assistance](https://litespec.dev/4.0.0/ext/ai.md): closed tool sets, structure-only scenarios, and pinned stubs for queries a model mediates.
- [API Compatibility](https://litespec.dev/4.0.0/ext/compat.md): versioning and retirement for APIs with public, partner, mobile, or independently deployed consumers.
- [Audit Trail](https://litespec.dev/4.0.0/ext/audit.md): tamper-resistant evidence of who attempted what in data another party owns.
- [Customer Automation](https://litespec.dev/4.0.0/ext/automation.md): customer-composed rules and hooks for a product whose tenants automate their own work.
- [Delivery](https://litespec.dev/4.0.0/ext/delivery.md): release readiness gates, image build and rollout, deployment and rollback, backup and restore, alerting and the supply-chain gate for a product operated in production.
- [Localization](https://litespec.dev/4.0.0/ext/locale.md): locales, catalogs, and formatting for a product that ships in more than one locale.
- [Model Context Protocol](https://litespec.dev/4.0.0/ext/mcp.md): the server a product ships so an LLM client can call its public API.
- [Multitenancy](https://litespec.dev/4.0.0/ext/tenancy.md): tenant isolation across authorization, storage, jobs, and recovery for one shared deployment.
- [Plans and Entitlements](https://litespec.dev/4.0.0/ext/plans.md): plans, entitlements, and feature gating for a product that sells tiers.
- [Release Stage](https://litespec.dev/4.0.0/ext/stage.md): the pre-customer-data stage, what it defers, and the promotion that ends it.

## Local Extensions

Selected per record, for the use cases, entry points, jobs, journeys, modules, rules, or aggregates the criterion names:

- [Caching](https://litespec.dev/4.0.0/ext/cache.md): staleness contracts and recovery for a repeated expensive read that traces or load tests name.
- [Concurrency and Idempotency](https://litespec.dev/4.0.0/ext/concurrency.md): versions, client keys, and fingerprints where writes can overlap or retries can duplicate an effect.
- [Connected Devices](https://litespec.dev/4.0.0/ext/devices.md): protocol blocks with messages, version rules, and offline uploads for entry points that devices reach.
- [Data Lifecycle](https://litespec.dev/4.0.0/ext/lifecycle.md): retention, deletion, archival, and restore behavior for records with a lifetime duty.
- [External Integrations](https://litespec.dev/4.0.0/ext/integrations.md): provider isolation, failure mapping, and boundary tests for use cases that call outside systems.
- [Durable and Live Delivery](https://litespec.dev/4.0.0/ext/outbox.md): one-transaction commits with dispatched messages where delivery must survive process failure, and live transport where measured polling cannot meet the update target.
- [Jobs and Queues](https://litespec.dev/4.0.0/ext/jobs.md): recurring, delayed, ingested, carried, and heavy work, and human-cleared queues, with leases that survive restarts.

## Stack Extensions

Extensions that bind to one stack live beside that stack:

- [.NET extensions overview](https://litespec.dev/4.0.0/backend/dotnet/ext/README.md): the BDD scenarios and EF Core persistence only a .NET backend offers.
