Architecture & contributing

For people hacking the open-source gymkhana core — layout, ADRs, PR workflow, and domain boundaries. Gym operators should use product guides; integrators should use developer docs.

Repository layout

src/app/api/     → HTTP routes (thin; delegate to domains)
src/domains/     → business logic handlers and adapters
  extensions/    → custom entities & custom analytics
prisma/          → schema and migrations
openapi/         → generated REST spec

Member photos: src/lib/member-avatar.ts, routes under /api/members/photo.

Architecture decision records

Contributor guides (GitHub)

Pre-PR checks: npm run typecheck, npm run lint, npm run test:ci, and route audits when touching APIs. Full list in DEVELOPMENT.md on GitHub.