A Cloudflare Workers application built on the Factory Core infrastructure. Civic and justice
platform — organization management, session facilitation, and simulation tools for legal and
community practice scenarios. See CLAUDE.md for the full mission and stack.
Production: https://ijustus.adrper79.workers.dev Staging: https://ijustus-staging.adrper79.workers.dev
# Install dependencies
npm ci
# Copy environment variables
cp .dev.vars.example .dev.vars
# Fill in .dev.vars values — see CLAUDE.md's Stack section for what each one backs
# Run locally
npm run devThen open http://localhost:8787.
npm run typecheck # TypeScript strict mode, zero errors required
npm test # Vitest suiteIf both pass, you're ready to deploy.
.dev.vars (git-ignored) holds local secrets — Workers don't support .env files. Production
and staging secrets are set via wrangler secret put, never in wrangler.jsonc vars. See
docs/runbooks/secret-rotation.md.
GET /health— app status/api/organizations— organization management/api/sessions— session scheduling and facilitation/api/simulators— simulation tool management
See src/routes/ for full route implementations.
npm run deploy # production
npm run deploy:staging # stagingPushes to main deploy via .github/workflows/deploy.yml. Full runbook:
docs/runbooks/deployment.md.
npm testVitest with @cloudflare/vitest-pool-workers to simulate the Workers runtime.
CLAUDE.md— standing orders, stack, hard constraints, commit formatdocs/runbooks/getting-started.mddocs/runbooks/deployment.mddocs/runbooks/database.mddocs/runbooks/secret-rotation.mddocs/runbooks/slo.md