Packages
The ~50 shared libraries in packages/, grouped by concern — imported everywhere as @repo/*.
packages/* holds the shared code the apps are built from — imported as
@repo/<name>. There are roughly 50 packages; the pages below group them by
concern so you can find the right one to reuse before writing something bespoke.
Platform core
api, auth, db, contracts, constants, utils, logger, security — the API boundary, sessions, database, and shared primitives.
UI & builders
design-system, auth-ui, data-table, form-builder, site-builder, table-builder, hooks.
Effect infrastructure
effect-http, react-effect, realtime, observability, telemetry — the Effect plumbing shared across apps.
AI & content
ai, images, media-tools, seo, cms, commerce, feature-flags, memory, analytics.
i18n & client data
internationalization, intl-runtime, browser-persistence, local-db.
Games
chess-domain, chess-services, chess-ui, draughts-rules, draughts-ui, algorithms, and the type shims.
Domain services
cvm-domain, cvm-services, juice-domain, juice-services, drone-services.
Tooling & config
testing, typescript-config, next-config, next-devtools, k6-harness.
Conventions
- Packages export from
src/(built withtsdownwhere a build step exists) and are consumed viaworkspace:*/ the@repo/*alias. - Services follow the Effect v4 shape —
Context.Service+ a staticlayer(see the architecture guide). - Versions of third-party deps come from the
catalog:inpnpm-workspace.yaml, never hardcoded.