Quickstart
Get Clay’s workspace, backend, mobile app, and specifications site running locally.Install prerequisites
| Tool | Version | Why |
|---|---|---|
| Node.js | >= 20 | Drives pnpm, Turborepo, Wrangler, and Expo CLI. |
| pnpm | >= 11 | Workspace package manager. Use corepack enable if it is missing. |
| Xcode + iOS sim | latest stable | Required only for pnpm --filter @clay/mobile ios. |
| Cloudflare Wrangler | per-package | Installed inside @clay/backend and @clay/specs. Do not install globally. |
Install workspace dependencies
From the repository root:This populates every workspace package, including the Fern SDK sources and the Mintlify tooling.
Run the backend
http://127.0.0.1:8787. Inspect the runtime OpenAPI document at /openapi.json while the Worker runs.Start the mobile app
pnpm --filter @clay/mobile ios when an iOS simulator is available. Use
pnpm --dir apps/mobile expo install <pkg> for any new native dependency so versions stay Expo-aligned.Preview the specs site
http://localhost:3000 with live reload. The site mirrors apps/specs/docs.json; update navigation in the same change as any page move.Common gotchas
pnpm is missing or out of date
pnpm is missing or out of date
Enable Corepack and pin the version that matches
package.json:Wrangler cannot find a binding
Wrangler cannot find a binding
Wrangler reads
apps/backend/wrangler.toml for bindings. If a handler reads a binding that the
TOML does not declare, deploy fails. See Environment and
bindings.Mintlify preview shows a stale page
Mintlify preview shows a stale page
Delete the local
.mintlify cache and restart pnpm --filter @clay/specs dev:Expo CLI cannot find a package
Expo CLI cannot find a package
Add native dependencies through
pnpm --dir apps/mobile expo install <pkg> so versions align
with the installed Expo SDK. Never npm install inside apps/mobile.@clay/client types are stale after a backend change
@clay/client types are stale after a backend change
Regenerate the SDK and typecheck:
What lives where
apps/backend
Cloudflare Worker, Hono routing, and OpenAPI export.
apps/landing
Next.js static export pitching site.
apps/mobile
Expo iOS app for capture, fit review, and next actions.
apps/specs
Mintlify specifications site — this package.
Related
Decisions
Architecture decision records — why Clay is built the way it is, and what each choice costs.
Glossary
The vocabulary shared across product, platform, and the specs site.
3D generation and Rive pipeline
How Clay’s mascot, motion assets, and 3D scenes are generated and shipped across surfaces.
Landing page section spec
The section-by-section breakdown of how
apps/landing pitches Clay.
