Skip to content
Reference

Package Map

Every workspace package: what it owns, what it exports, and where the deep dive lives. Use Project Structure for the visual repo tour; follow each row's deep-dive link for a subsystem narrative.

Last updated on

3 min read

On This Page

Apps

Core Spine

The packages everything else builds on. Schemas and sessions at the bottom, the typed API and domain use-cases above them.

PackageOwnsPublic exportsDeep dive
@syntaxkit/databasePrisma schema, migrations, generated client, and the multi-domain models (auth, billing, AI, effects).., ./healthDatabase
@syntaxkit/authBetter Auth: sessions, OAuth, 2FA, passkeys, the organization plugin, hooks, permissions, post-login redirects, and the bootstrap-admin script.., ./server, ./client, ./redirect, ./permissions, ./utils, ./bootstrap-adminAuthentication
@syntaxkit/apiThe oRPC router, middleware (authorized, withActiveOrganization, withPermission, requireAdmin), guards, lib helpers, and request-scoped session cache.., ./client (type-only Router), ./session-cacheAPI
@syntaxkit/coreDomain use-cases the API routers call: organizations, billing, chat, usage quotas, dashboard stats, admin helpers, and abuse enforcement../abuse, ./organizations, ./billing, ./usage, ./chat, ./dashboard, ./adminAPI, Organizations, Billing, AI
@syntaxkit/sharedCross-package primitives: Zod schemas, abuse policies, env and setup helpers, client env, test fixtures, Vitest defaults.., ./abuse, ./client, ./testingConventions

Product Capabilities

One package per SaaS subsystem. Each exposes a stable interface so you can extend or swap one without touching the rest.

PackageOwnsPublic exportsDeep dive
@syntaxkit/paymentsStripe billing: plan catalog, entitlements, checkout, portal, subscription sync, idempotent webhook handler, price-catalog sync, and reconcile/drift reporter.., ./client, ./server, ./catalog, ./types, ./stripe/client, ./stripe/price-catalog-sync, ./stripe/reconcile, ./stripe/checkout, ./stripe/portal, ./stripe/webhook, ./stripe/subscriptionBilling, Webhooks And Async Workflows
@syntaxkit/storageS3-compatible uploads: object-key conventions, upload policy (size/MIME/schemas), sharp image pipeline, presign + finalize, cleanup, and the useFileUpload hook.., ./policy, ./hooksStorage
@syntaxkit/emailsendEmail transport (log / noop / provider modes), renderEmail, transactional composers, and the React Email template barrel.., ./templates, ./transactionalEmail
@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/brandBrand name, wordmark, URLs, social handles, legal entity, and SEO defaults. One file for metadata, Logo, emails, and legal pages..Customization
@syntaxkit/uishadcn/ui-style primitives, 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/*) give every component and hook its own import path. Add a primitive and import it as @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

Also useful: Commands And Scripts.

Was this page helpful?

On this page