# dependencies
node_modules/
.pnp
.pnp.js

# testing
coverage/
/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/

# next.js
.next/
out/
next-env.d.ts

# production
build/
dist/

# env files
.env
.env*.local
.env.development
.env.production

# per-deployment production env files (multi-business VPS setup — see
# stacks/infra/compose.yaml / stacks/<business>/compose.yaml). Every real
# stack's .env lives at stacks/<name>/.env (one directory per stack,
# same convention NextChair Manager's provisioning uses) — this one
# wildcard rule covers every current and future stack without another
# .gitignore edit. .env.infra.example and .env.business.example (the
# templates you copy into each stacks/<name>/ directory) stay tracked,
# same as .env.local.example above.
stacks/*/.env

# Real per-business Caddy site files (deployment-specific domains, not
# something to hand-author into the repo) — only the placeholder stays
# tracked.
stacks/infra/sites/*.caddy
!stacks/infra/sites/.gitkeep

# Manager's global platform settings (Settings > Email, etc. — see
# manager/src/lib/global-settings.ts) — contains an encrypted SMTP
# password, generated at runtime, never hand-authored into the repo.
stacks/manager/global-settings.json

# prisma
prisma/dev.db
prisma/dev.db-journal

# misc
.DS_Store
*.pem
.vercel
*.tsbuildinfo

# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# editor
.vscode/*
!.vscode/extensions.json
.idea/

/generated/prisma

.agents/
.claude/
.windsurf/