---
description: Files and directories agents must not edit, and should not use as context examples
alwaysApply: true
---

# No-go zones

Do not edit, refactor, or quote as context examples. If you think you need to change one of these, stop and ask.

## Generated / vendored

- `node_modules/` — generated dependency tree
- `.next/` — Next.js build output
- `src/generated/` — Prisma client output (regenerate with `npx prisma generate`)
- `*.tsbuildinfo` — TS incremental cache
- `next-env.d.ts` — Next.js generated types
- `tsconfig.tsbuildinfo`

## Append-only / historical

- `prisma/migrations/` — append-only; create **new** migrations via `npx prisma migrate dev --name <descriptive_name>`, never edit existing ones
- `echos_ocr_backup.dump`, `echos_ocr_prod_backup.dump` — database backups, never edit

## Secrets / credentials

- `.env`, `.env.local`, `.env.*.local` — runtime secrets
- Any `*-credentials.json`, `*-service-account-key.json`, `*.pem`, `*.key`

## Local-only / per-developer

- `.vercel/` — local Vercel CLI state
- `.cursor/mcp.json` — personal MCP config (if it appears, do not commit)

## Editing rules of thumb

- New Prisma migrations only: `npx prisma migrate dev --name <descriptive_name>`. Never hand-edit a previous migration's SQL.
- Regenerate the Prisma client after schema changes (`npx prisma generate`) instead of touching `src/generated/`.
- `ResponseCard.name` is denormalized — when writing new code that mutates `firstName` or `lastName`, recompute `name` (see the PUT route in `src/app/api/cards/[id]/route.ts` for the canonical pattern).
- One-off data migrations / backfills go in `scripts/`, not in API routes.
