Skip to content

Development

mcinquin edited this page Oct 12, 2026 · 1 revision

Development

Requirements

  • Node.js 24 (see .nvmrc; engines: >=24 <25)
  • npm
  • Docker + Docker Compose (for PostgreSQL)

Local setup

cp .env.example .env
# Set NEXTAUTH_SECRET (openssl rand -base64 32)
# NEXTAUTH_URL=http://localhost:3000
# DATABASE_URL=postgresql://markit:markit_password@localhost:5432/markit
npm ci
docker compose up postgres -d
npm run db:migrate:deploy
npm run db:seed
npm run dev

Open http://localhost:3000.

If port 3000 is already in use, change PORT and NEXTAUTH_URL together.

Useful scripts

npm run ci         # fast local checks (recommended before pushing)
npm run ci:full    # same + npm audit high+ (used by GitHub Actions)
npm run check      # alias for npm run ci
npm run lint
npm run lint:md
npm run typecheck
npm run test       # Jest (bingo, account, authz)
npm run build
npm run release    # semantic-release (CI job)

Database:

npm run db:migrate:deploy
npm run db:migrate
npm run db:push
npm run db:seed
npm run db:studio
npm run db:generate

Code quality

  • Husky: pre-push runs npm run ci; commit-msg uses commitlint (Conventional Commits)
  • lint-staged: ESLint on JS/TS, markdownlint on Markdown
  • Dependabot: weekly npm, Actions, and Docker updates

Manual checklist (after deploy)

  1. Admin sign-in → /account on first login
  2. Dashboard → create / join a team
  3. Create a board → play → real-time cells
  4. Admin → generate an invite → signup

Contribution flow

See CI-and-releases for Conventional Commits, PR squash-merge, and semantic-release.

Related

Clone this wiki locally