Skip to content
Docs just relaunched - explore the new sidebar, OG images, and AI-ready content.
Reference

Package Map

A directory of every package and what it owns.

Last updated on

3 min read

Every workspace package in one place: what it owns, what it exports, and where the deep dive lives. For the visual repo tour, see Project Structure. For a subsystem narrative, follow the deep-dive link in each row.

Apps

Core Spine

The packages everything else builds on: schemas, sessions, and the typed API contract.

PackageOwnsPublic exportsDeep dive
@syntaxkit/databasePrisma schema, generated client, and the multi-domain models (auth, billing, AI, effects).., ./healthDatabase
@syntaxkit/authBetter Auth: sessions, OAuth, 2FA, passkeys, the organization plugin, hooks, permissions, and the bootstrap-admin script.., ./server, ./client, ./permissions, ./utils, ./bootstrap-adminAuthentication
@syntaxkit/apiThe oRPC router, the middleware chain (authorized, withActiveOrganization, withPermission, requireAdmin), guards, and lib helpers.., ./client (type-only re-export of Router)API
@syntaxkit/sharedCross-package primitives: Zod schemas, abuse policies, env and setup helpers, test fixtures, Vitest defaults.., ./testingWorking With The Codebase

Product Capabilities

Single-responsibility packages, each owning one SaaS subsystem behind a stable interface. Extend or swap one without touching the rest.

PackageOwnsPublic exportsDeep dive
@syntaxkit/paymentsStripe billing: checkout, portal, subscription sync, the idempotent webhook handler, plan catalog, and drift reporter.., ./server, ./config, ./types, ./stripe/client, ./stripe/checkout, ./stripe/portal, ./stripe/subscription, ./stripe/webhookBilling, Webhooks And Async Workflows
@syntaxkit/storageThe upload subsystem: S3-compatible client, object-key conventions, upload policy (size/MIME/schemas), the sharp image pipeline, presign + finalize orchestration, cleanup, and the useFileUpload hook.., ./policy, ./hooksStorage
@syntaxkit/emailsendEmail transport (log / noop / plunk), renderEmail, and the React Email template barrel.., ./templatesEmail
@syntaxkit/i18nLocale registry, localeLabels, path builders (withLocalePrefix, getLoginPath, …), and validation helpers.., ./configInternationalization
@syntaxkit/analyticsPostHog client/server wrappers, the typed event catalog (16 events), and the OpenTelemetry-backed log helper../client, ./server, ./events, ./loggerAnalytics, Monitoring

UI

PackageOwnsPublic exportsDeep dive
@syntaxkit/uishadcn/ui-style primitives copied into the workspace, Tailwind v4 theme tokens, the cn helper, and shared icons re-exported from lucide-react../components/*, ./hooks/*, ./lib/* (cn at ./lib/utils), ./styles/* (./styles/globals.css), ./iconsCustomization

The wildcard exports (./components/*, ./hooks/*) make every component and hook its own import path. Add a primitive and import it via @syntaxkit/ui/components/<name>, no barrel to edit.

Dev-Only Configs

Shared tooling presets every package extends. No runtime surface, no deep-dive page.

PackageOwnsPublic exports
@syntaxkit/typescript-configShared TypeScript configs../base.json, ./nextjs.json, ./react-library.json
@syntaxkit/eslint-configShared ESLint configs../base, ./nextjs, ./react-library

Where To Go Next

Was this page helpful?

On this page