# Packages

The workspace contains 17 packages with explicit ownership and supported import paths.

`apps/web` owns the web experience and production Worker. `apps/mobile` owns Expo navigation and native integration. Shared contracts and implementations live in the packages below. A package boundary does not automatically make a module safe for a browser: follow the [client/server boundary](/docs/architecture/client-server-boundary).

| Package | Responsibility |
| --- | --- |
| [api](/docs/packages/api) | Authorized operations and shared contracts |
| [auth](/docs/packages/auth) | Identity and request scope |
| [db](/docs/packages/db) | Postgres schema and durable state |
| [storage](/docs/packages/storage) | Private file gateway |
| [email](/docs/packages/email) | Transactional email delivery |
| [env](/docs/packages/env) | Validated environment contracts |
| [flags](/docs/packages/flags) | Feature registry and overrides |
| [intl](/docs/packages/intl) | Request-scoped language |
| [errors](/docs/packages/errors) | Stable error vocabulary |
| [ui](/docs/packages/ui) | Shared web primitives |
| [config](/docs/packages/config) | Tooling configuration |
| [project-setup-cli](/docs/packages/project-setup-cli) | Project identity and provisioning workflow |
| [ads](/docs/packages/ads) | Optional native advertising |
| [app-update](/docs/packages/app-update) | Native update policy |
| [purchases](/docs/packages/purchases) | Native purchase coordination |
| [react-utils](/docs/packages/react-utils) | Small shared React helpers |
| [widgets](/docs/packages/widgets) | Optional native Todo widgets |

