Packages
@repo/shared
Cross-app utilities, type definitions, and helper functions shared across the Aurea monorepo.
Overview
@repo/shared is a lightweight, framework-agnostic package for code that must be reused across
multiple apps without pulling in any app-specific framework (React, Next.js, NestJS, etc.).
- Package name:
@repo/shared - No runtime framework dependencies — only pure TypeScript.
What belongs here
| Category | Examples |
|---|---|
| Shared types / interfaces | CaseStatus, ImmigrationService enums |
| Pure utility functions | date formatters, string helpers |
| Zod schemas used in multiple apps | request/response shapes |
| Constants | country codes, service IDs |
What does NOT belong here
- React components →
@repo/ui - NestJS decorators or providers →
apps/api - Next.js-specific utilities → the app that uses them
Import
import { CaseStatus } from '@repo/shared'Dependency rule
@repo/shared must not depend on @repo/ui or any app package.
Apps and @repo/ui may both depend on @repo/shared.