Today Platform Web — Dev Docs
Orientation

Repo tour

The five-minute orientation — what lives where, which tools do what, and which sibling repos are in play.

Layout

today-platform-web/
├── apps/
│   ├── web/                  Main product app (Next.js 16, dev port 4060)
│   ├── admin/                Internal admin app (Next.js 16, dev port 4061)
│   ├── onboarding/           Vite-based onboarding standalone (dev port 5174)
│   ├── webview-bridge-docs/  Fumadocs site: WebView Bridge contract + SDK
│   └── dev-docs/             Fumadocs site: this manual (dev port 4070)

├── design-system/
│   ├── tokens/               @today/tdx-tokens — colors, spacing, type
│   ├── ui/                   @today/tdx-ui — Radix-based component library
│   ├── opal/                 @today/opal — onboarding / product flow primitives
│   ├── opal-host/            Host adapter contracts for opal
│   └── docs/                 Fumadocs site: TDX design-system reference

├── packages/
│   ├── auth-client/          @todayai-labs/auth-client — domain / OIDC URL resolution
│   ├── storybook/            @today/storybook — shared Storybook preset
│   ├── utils/                @today/utils — small shared utilities
│   ├── webview-bridge/       @today/webview-bridge — web-side bridge SDK
│   └── tsconfig/             @today/tsconfig — shared TypeScript base config

├── scripts/
│   ├── affected.ts           CI scope detection (dynamically discovers packages)
│   ├── dev-server.mjs        Per-worktree free-port dev launcher
│   └── ...

├── docs/                     Long-form documentation (some migrated into this site)
│   ├── plans/                In-progress implementation plans (drafts)
│   └── changes/              Shipped implementation logs (archive)

├── .github/workflows/        CI + per-app deploy workflows
├── .moon/                    Moon task orchestration config
├── pnpm-workspace.yaml       pnpm workspaces + catalog (single source of versions)
├── CLAUDE.md                 Claude Code agent entry — tacit knowledge for AI runtime
├── AGENTS.md                 Agent guidelines (cloud-dev, iterative workflow)
└── README.md                 Public overview

Sibling repositories

A few load-bearing repos live outside this one:

  • todayai-labs/today-cloud — backend services (auth, agent, API). Local full-stack dev requires running it; agent E2E pulls OTPs from there.
  • todayai-labs/today-tck — the canvas / widget toolkit. Published as private @todayai-labs/tck* packages on GitHub Packages.
  • todayai-labs/playground — throwaway prototype demos. Used to live under demos/ in this repo.

Tool baselines

ConcernTool
Package managerpnpm 9+ with workspace catalog: (strict)
Task orchestrationMoon (.moon/workspace.yml)
TypeScripttsgo --build (TypeScript Native Preview)
Lint + formatoxlint + oxfmt (not ESLint / Prettier)
Unit testsVitest 4
Browser testsPlaywright (smoke / full / visual configs)
Component devStorybook 10 (web, design-system/ui, design-system/opal)
API mocksMSW (handlers + fixtures under apps/web/src/lib/msw/)
Web frameworkNext.js 16 (App Router; middleware.ts is now proxy.ts)
Vite appapps/onboarding (Vite 8)
Docs sitesFumadocs (Next.js 16 + MDX)

Each tool has its own chapter in Toolchain (PR-CB).

What runs where

SurfaceHosted onDomain (prod)
apps/webVerceltoday.ai
apps/adminVerceladmin.today.ai
apps/onboardingVercel(route under web)
design-system/docsVercel (separate project)(Vercel default)
apps/webview-bridge-docsVercel (separate project)(Vercel default)
apps/dev-docsVercel (separate project)(Vercel default, deployment-protected)

Three-tier domains (t.ai / todayai.dev / today.ai) and per-app deploy workflows are covered in Architecture → Three-tier domains and Workflow → Deployment (PR-CB).

On this page