Open-Source Wikis

/

Cal.com

/

Lore

calcom/cal.com

Lore

The story of how the Cal.com / Cal.diy codebase grew from a one-folder Next.js demo in March 2021 into a 16,000-commit, 100-table monorepo. Dates come from git commit timestamps and tag dates.

Eras

"Calendso" — birth (Mar–May 2021)

The first commit, f260e29 on 2021-03-10, is "Initial commit from Create Next App". Within two weeks the repo had:

  • A booking flow (d769c39, 2021-03-22)
  • A base admin interface (388ff39, 2021-03-24)
  • A first README on 2021-03-26, the same day Google Calendar self-authentication was added (1582cfd)

The project was originally called Calendso. The name survives today in the encryption-key environment variable CALENDSO_ENCRYPTION_KEY (still required to boot), the apps/web/calendso.yaml manifest, and a few legacy SQL columns and code comments. The "calendso" name is essentially the codebase's fossil layer.

Rebrand to Cal.com and the early App Store (mid–late 2021)

By the second half of 2021 the project rebranded to Cal.com, replaced the original SQLite/Next-API-only stack with PostgreSQL + Prisma, and introduced the App Store concept. The directory packages/app-store/ was scaffolded as a place where every third-party integration could be self-contained, with metadata declared in a per-app config.json. The app-store-cli package emerged to generate registries from these directories.

Monorepo and tRPC (2022)

In 2022 the codebase was refactored from a single Next.js app into a Yarn workspaces + Turborepo monorepo. tRPC was adopted as the type-safe API layer — packages/trpc/server/routers/_app.ts is the central router file added during this transition. The directory split among apps/web, packages/features, packages/lib, and packages/ui dates from this era.

App Router migration (2023)

The web app started moving from Next.js Pages Router to the App Router. Today both coexist: apps/web/app/ (App Router) and apps/web/pages/ (Pages Router for legacy API routes and a few pages still in transition). The migration is tracked in commits with app-router in the subject and is still in progress on main.

Platform launch — REST v2 + atoms (2023–2024)

apps/api/v2, a separate NestJS service, was added to host the official REST API and the SDK that powers the React "atom" components (packages/platform/atoms). This split keeps the public API stable while the web app ships features quickly. The Platform team also introduced OAuth clients as a tenant boundary so multiple SaaS products can share a Cal.com instance.

EE → MIT — the Cal.diy fork (2025)

In 2025 the repo's marketing positioning split. The README.md at the repo root (commit 57586ba on 2026-04-26 is the latest README polish) now describes the codebase as Cal.diy, the community-driven fork of Cal.com with all enterprise features removed. Recent commits are dominated by cleanup(test): remove ... integration coverage (e.g., c2c95b3, 987fe91, de1ffb0 on 2026-04-27/28) and cleanup/refactor: remove dead workflow runtime config (d2a54e2). Whole subsystems — Teams, Organizations, SAML/SSO, Insights, the EE workflow runtime — are being pruned to leave a 100% MIT-licensed core. The fork still resolves to the calcom/cal.com GitHub URL because cal.diy is currently the same repository under a community-edition mode.

Active maintenance (2026)

Through Q1–Q2 2026 the codebase shows two parallel themes:

  • Cleanup — methodical removal of EE coverage and dead config (cleanup(test):, cleanup(seed):, refactor: remove dead ...).
  • Active feature workBookingRepository.ts, RegularBookingService.ts, and apps/web/public/static/locales/en/common.json are the top churn files, indicating the booking pipeline and the i18n surface are still being refined.

Longest-standing modules

Module First appears Notes
apps/web (then root pages/) Mar 2021 (f260e29) Original Next.js app
Booking flow (packages/features/bookings) Mar 2021 (d769c39, originally inline) The core scheduling pipeline. Has weathered the Pages → App Router migration and a major Repository/Service refactor.
Google Calendar integration (packages/app-store/googlecalendar) Mar 2021 (1582cfd) The first calendar provider. Still the canonical implementation of the Calendar interface and the reference for new providers.
CALENDSO_ENCRYPTION_KEY env var Mar–Apr 2021 Predates the Cal.com rebrand; still required to boot.

Deprecated / removed features

  • Enterprise Edition (EE) modules. Teams, Organizations, Insights, Workflows runtime, SSO/SAML — gradually stripped. The apps/web/app/(use-page-wrapper)/enterprise/ directory is one of the last surfaces still being removed.
  • Pages Router routes. Most routes have moved to apps/web/app/. The remaining apps/web/pages/ content is mostly API endpoints (and a handful of legacy pages) that haven't been ported.
  • Old workflow runtime. d2a54e2 on 2026-04-28 removed dead workflow runtime config; the EE workflow surface is being deprecated alongside the rest of EE.

Major rewrites

  • Pages Router → App Router (2023 → ongoing). Visible in the coexistence of apps/web/app/ and apps/web/pages/.
  • Single Next.js app → monorepo (2022).
  • Direct Prisma queries → Repository / Service split (2024–2025). Most domains under packages/features/<domain>/ now have repositories/, services/, and di/ subdirectories. The cleanup PRs in 2026-04 are part of this refactor.

Growth trajectory

  • 2021: 1 author, 1 app, ~5 tables.
  • 2026-04: 937 unique authors, 3 deployable apps, 100 Prisma models, 111 app-store integrations, 16,429 commits.
  • Commit cadence peaked at 618 commits in January 2026 during the EE-removal sprint, dropped sharply through April 2026 as cleanup work tapered.
  • Conventional-commit style is enforced. There are 1,812 commits starting with feat and 5,577 with fix in the project's history.

Where to look next

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

Lore – Cal.com wiki | Factory