node_modules
**/node_modules
**/dist
**/.next
**/coverage
**/*.tsbuildinfo
.git
.github
.env
.env.*
!.env.example
packages/db/.env
*.log
.DS_Store
data
.docker
infra/aws
deploy/aws/runtime
CHANGELOG-SECURITY.md
**/*.tfstate*
**/*.tfplan
**/*.auto.tfvars
**/*.backend.hcl
**/.terraform

# Private project artifacts — keep out of image build context
Build_Plan
DECISIONS.md
.claude
docs/PHASE_*.md
docs/PHASE_*_NOTE.md
docs/permissions.md

# Mobile PWA build output, published into apps/web by
# apps/mobile/scripts/emit-to-web.mjs. All three are generated:
# public/m holds the hashed assets, mobile-shell holds the per-accent
# HTML variants + build marker, and .mobile-stage is the atomic-swap
# staging area (cleared on every publish, but ignored so an interrupted
# build can never be committed or swept into a Docker context).
apps/web/public/m/
apps/web/mobile-shell/
apps/web/.mobile-stage/
