Skip to content

Setup

Prerequisites

  • Node.js
  • pnpm (workspace manager)
  • Wrangler CLI (Cloudflare Workers)

Commands

bash
# Install dependencies
pnpm install

# Run all tests
pnpm test

# Run specific test file
pnpm test apps/backend/test/durables/PriceCollector.spec.ts

# Run with test name filter
pnpm test apps/backend/test/utils/compression/basic.spec.ts -t 'compresses timestamps'

# Run in watch mode
pnpm test --watch

# Export types
pnpm run export

# Run web tests
pnpm web:test:run

Project Layout

apps/
  backend/              # Main Cloudflare Workers backend
    src/
      index.ts          # Main worker export
      endpoints/        # API routes (itty-router)
      constants/        # Asset definitions, fees, geo config
      durables/         # All Durable Object implementations
      durable-helpers/  # Shared DO utilities
      utils/            # BigNumber, binary encoding, compression
    test/
      durables/         # DO integration tests (630+)
      utils/            # Utility tests
  web/                  # Frontend (React Router 7)
    e2e/                # API integration tests (Vitest + Playwright)
  admin/                # Admin dashboard
packages/
  ace-trader/           # Auto-generated type exports
  api/
  auth/
  cf-worker/
  hooks/
  mixpanel/
  ui/
  utils/
docs/                   # This documentation site (VitePress)
monitor/                # Monitoring dashboard