This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
MarsMissionFund is a sample application for coding workshops — a fake product for crowdfunding projects that help get us to Mars.
The specs/README.md document acts as index for the Product Mission and the standards for the project. Before implementing any feature, consult the specifications in specs/README.md.
PostgreSQL must be running and accessible via DATABASE_URL (set in .env). All other external services (Stripe, Clerk, Veriff, AWS SES) are mocked — see .env.example for configuration.
- Node.js 22.x LTS and npm
- PostgreSQL 16
- dbmate for migrations (
npm run migrateordbmate up)
- PostgreSQL — connection details come from
DATABASE_URLin.env. Never hardcode connection strings. - Dev stack starts with
npm run dev(backend atlocalhost:3001, frontend atlocalhost:5173). Restart withmake dev-stackif needed. - Database migrations live in
db/migrations/and are applied with dbmate. Do not create alternative migration tooling. - Pre-installed tooling: dbmate, Biome (lint/format), Playwright (E2E), Vitest (unit/integration).
Do not create features or specs for "project setup", "monorepo scaffolding", "Docker Compose configuration", or "local dev environment". This infrastructure exists. Features should deliver application-level user value.
TODO: Document the development workflow, including git standards, testing, reviews etc.