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)
│   ├── 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/
│   ├── opal-tokens/         @todayai-labs/opal-tokens — colors, spacing, type
│   ├── ui/                   @todayai-labs/opal-ui — Radix-based component library
│   ├── opal/                 @todayai-labs/opal-ui — 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/            @todayai-labs/storybook — shared Storybook preset
│   ├── utils/                @todayai-labs/utils — small shared utilities
│   ├── webview-bridge/       @todayai-labs/webview-bridge — web-side bridge SDK
│   └── tsconfig/             @todayai-labs/tsconfig — shared TypeScript base config

├── scripts/
│   ├── affected.ts           CI scope detection (dynamically discovers packages)
│   ├── cloud/                Cloud-dev bootstrap + log helpers
│   └── ...

├── 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)
├── AGENTS.md                 Agent runtime SSOT (cloud-dev, workflow, repo conventions)
├── CLAUDE.md -> AGENTS.md    Claude Code compatibility symlink
└── 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-admin — internal admin / staff app. Deploys to admin.today.ai (prod) and admin.todayai.dev (preview). Extracted from this repo in June 2026; see #749 for the cleanup.
  • 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, opal-ui, opal-icons, tangible-ui)
API mocksMSW (handlers + fixtures under apps/web/src/lib/msw/)
Web frameworkNext.js 16 (App Router; middleware.ts is now proxy.ts)
Docs sitesFumadocs (Next.js 16 + MDX)

Each tool has its own chapter in Toolchain.

What runs where

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

The admin console is hosted at admin.today.ai from todayai-labs/today-admin.

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

On this page