.agents/skills/cloud-agents-starter/SKILL.md
Practical setup and execution instructions for running and testing this codebase. Use this as the first reference when starting the app, running tests, or debugging workflows.
.nvmrc)pnpm install
pnpm build:packages
There is no single root pnpm dev. Each package has its own dev script. To run a specific package:
pnpm --filter @scalar/api-client dev
pnpm --filter api-reference dev
pnpm --filter components dev
pnpm build:packages # Build all packages (required before dev)
pnpm build:integrations # Build integrations
pnpm clean:build # Clean, reinstall, and rebuild
pnpm lint:check # Check lint
pnpm lint:fix # Auto-fix lint
pnpm format:check # Check formatting
pnpm format # Apply formatting
pnpm types:check # TypeScript check
cd packages/<package-name>
pnpm dev
Common entrypoints:
| Package | Dev command | Notes |
|---|---|---|
api-client | pnpm dev | Runs playground:v2:web (Vite) |
api-reference | pnpm dev | Main API reference playground |
components | pnpm dev | Storybook on port 5100 |
mock-server | pnpm dev | Mock server playground |
void-server | pnpm dev | HTTP mirror server (port 5052) |
galaxy | pnpm dev | Serves OpenAPI doc with @scalar/cli |
pnpm test # Run all tests (packages + integrations)
pnpm vitest packages/* # Packages only
pnpm vitest packages/api-client # Single package
pnpm vitest packages/api-client --run # Single run, no watch
pnpm test your-test-name # Filter by test name
Test servers required: Some tests need @scalar/void-server (5052) and proxy-scalar-com (5051). Start them in a separate terminal:
pnpm script run test-servers
Then wait for ports: pnpm script wait -p 5051 5052
pnpm --filter @scalar/express-api-reference dev
pnpm --filter @scalar/fastify-api-reference dev
pnpm --filter @scalar/nuxt dev
pnpm --filter @scalar/nextjs-api-reference dev
pnpm vitest integrations/* # All integrations
pnpm vitest integrations/express # Single integration
Python integrations (FastAPI, Django Ninja): Require Python 3.11. Run python run_tests.py in the integration directory.
Rust/Java/.NET: Have separate CI jobs; typically run via their native toolchains (cargo, mvn, dotnet).
cd packages/api-reference
pnpm test:e2e # Local (needs Playwright browser)
pnpm test:e2e:ci # CI mode
pnpm test:e2e:update-snapshots # Update snapshots
cd packages/components
pnpm test:e2e # Local
pnpm test:e2e:ci # CI mode
pnpm test:e2e:update # Update snapshots
pnpm --filter @scalar/nuxt test:e2e
Playwright uses PW_TEST_CONNECT_WS_ENDPOINT=ws://127.0.0.1:5001/ for browser connection in local runs.
CI=1 for CI-like behavior (e.g. test servers, some Playwright runs).openapi-parser tests use NODE_OPTIONS=--max_old_space_size=8192 for large specs.api-reference.pnpm script run test-servers # Start void-server + proxy-scalar-com
pnpm script wait -p 5051 5052 # Wait for ports
pnpm script generate-readme # Regenerate integration READMEs
This codebase does not use feature flags. Configuration is via package options, OpenAPI spec extensions, or environment variables as noted above.
cd projects/proxy-scalar-com && go run main.go (port 5051)pnpm dev (e.g. examples/web, examples/react)To approximate CI locally:
pnpm install
pnpm build:packages
pnpm script run test-servers & pnpm script wait -p 5051 5052
pnpm vitest packages/* --silent
pnpm vitest integrations/* --silent
pnpm types:check
pnpm lint:check
pnpm format:check
When you discover new testing tricks, runbook steps, or environment requirements:
Preferred location for this skill: .agents/skills/cloud-agents-starter/SKILL.md.