Required Commands and Checks

Use these commands to match CI and keep the working tree clean.

After Every Change

# Build the site when you need a fresh dist/
bun run build

# Prepare builds and run smoke/worker + content checks
bun run test

# Run unit tests quickly (skips build lifecycle where possible)
bun run test:unit:fast

# Lint code
bun run lint

# Fast verification loop
bun run verify:quick

Discovery Shortcuts

# Find matching components or styles
rg "ComponentName|class-name" app/src

# Trace shared copy keys in site.json
rg "navigation\\.|pages\\." app/src/content/site.json

# Locate worker routes, bindings, or handlers
rg "fetch\\(|env\\." worker

Run these helpers frequently to avoid surprises:

# Audit and auto-fix local environment issues
bun run doctor --fix

# Ensure node_modules is not committed
bun run check:node-modules

# Build site + worker once for test suites
bun run prepare:tests

Verification Workflow

Run all checks in CI order:

bun run verify  # Runs: check:node-modules → lint → test (builds once via prepare:tests, then unit + content)

Content Changes

Use these when editing content or shared site copy:

# Rebuild pages and regenerate sitemap output
bun run build

# Check content linting
bun run test:content

End-to-End Testing

Run after navigation, form, or layout changes (after bun run prepare:tests):

bun run test:e2e  # Runs Playwright browser tests