Open-Source Wikis

/

Cal.com

/

Packages

calcom/cal.com

Packages

The packages/ directory hosts every shared workspace in the monorepo. Most are first-class workspaces (packages/<name>); a few are conceptual umbrellas (packages/embeds/, packages/platform/, packages/features/, packages/app-store/) that contain many sub-packages.

Catalog

Package Purpose Page
features 70+ domain modules — the business-logic layer features
lib Shared utilities (CalendarService, CalEventParser, crypto, dayjs, ssrfProtection, getIP, getSafeRedirectUrl, ...) lib
ui Shared design system (~50 components) ui
prisma Database schema, migrations, seeds, generated types prisma
trpc Type-safe API server + client trpc
app-store 111 third-party integrations app-store
app-store-cli Code generator that wires apps in app-store (covered in app-store)
embeds/embed-core + embed-react + embed-snippet JS, React, and snippet embed runtimes embeds
platform/atoms + libraries + types + examples Cal.com Platform SDK platform
emails Transactional email templates (React Email) emails
dayjs Pre-configured Day.js bundle misc
i18n next-i18next locale bundles misc
kysely Generated Kysely types from Prisma misc
sms SMS providers (Twilio, etc.) misc
types Shared TypeScript types (Calendar, Booking, ...) misc
tsconfig Shared tsconfig presets misc
testing Test fixtures + booking scenario builder misc
debugging Logger and troubleshooter helpers misc
di Lightweight DI container helpers misc
coss-ui UI tokens / component primitives shared with the marketing site misc
config Shared runtime config helpers misc
redis (under features) Redis client wrappers features

Layering

graph BT
    Prisma[prisma] --> Lib[lib]
    Prisma --> Types[types]
    Prisma --> Kysely[kysely]
    Lib --> UI[ui]
    Lib --> Features[features/*]
    Types --> Features
    UI --> Features
    Features --> TRPC[trpc]
    Features --> Web[apps/web]
    TRPC --> Web
    Features --> AppStore[app-store/*]
    AppStore --> Features
    PlatformLibs[platform/libraries] --> Features
    PlatformLibs --> TRPC
    PlatformLibs --> ApiV2[apps/api/v2]
    Features --> Embeds[embeds/*]

The general rule: prisma and types are the lowest layer; lib builds on them; features builds on lib/ui/prisma; apps consume features. Cycles are avoided by routing API-v2 imports through packages/platform/libraries.

Pages

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Packages – Cal.com wiki | Factory