This repo builds the WeMeditate site. It uses React, TypeScript, Vike, Tailwind CSS, and Cloudflare Workers.
- Node.js
22.17.0(see.node-version) - pnpm (
npm install -g pnpm)
- Install dependencies:
pnpm install - Create your local environment file:
pnpm env:setup - Add your values to
.env.local. Use.env.exampleas a reference.
pnpm devOpen http://localhost:5173.
| Command | Purpose |
|---|---|
pnpm dev |
Start the local dev server. |
pnpm build |
Build the production client and server bundles. |
pnpm preview |
Preview the production build locally. |
pnpm prod |
Build and run the production server locally with Wrangler. |
pnpm deploy |
Build and deploy to Cloudflare. |
pnpm lint |
Run ESLint across the codebase. |
pnpm test |
Run tests in watch mode. |
pnpm test:run |
Run tests once (CI style). |
pnpm test:ui |
Open the Vitest UI runner. |
pnpm ladle |
Run the component library locally. |
pnpm ladle:build |
Build the component library for static hosting. |
pnpm check:wrangler |
Validate the design Worker's config offline (run ladle:build first). |
pnpm env:setup |
Copy .env.example to .env.local. |
pnpm types:cms |
Refresh SahajCloud types from the upstream Payload repo (needs network). |
pages/ # Vike pages and routes
components/ # Reusable UI components
layouts/ # Layout wrappers
hooks/ # Shared React hooks
server/ # Backend logic, caching, SahajCloud integration
public/ # Static assets
- Follow the component rules in
DESIGN_SYSTEM.md. - Use
STORYBOOK.mdfor component library guidance.
AGENTS.mdis the project guide (CLAUDE.mdsymlinks to it). It maps where everything else lives, includingdocs/rules/(path-scoped rules) and.claude/skills/(multi-step procedures).MCP_USAGE.mddocuments MCP server usage.STORYBOOK.mdexplains the component documentation flow.
- If local config changes have no effect, delete
.env.localand runpnpm env:setupagain. - If
pnpm deployfails, check your Cloudflare credentials and environment variables.