# An enforced client/server boundary

Shared constants stop pulling server capabilities into browser bundles.

A server-capable module can no longer act as a convenience barrel. Clients consume import-free enum leaves, safe schemas and type-only API contracts. Oxlint rules, enumerated package exports and a built-client marker scan enforce the boundary.

Read [ADR-0002](/docs/adr/0002-no-barrels-on-server-capable-modules) and the [extension guide](/docs/architecture/client-server-boundary).

[Source: boundary enforcement](https://github.com/CarlosZiegler/doro/commit/43dd89d)

