Installs a 3-layer Cursor-aligned agent pipeline so future agent
sessions can orient quickly and stay inside guard rails:
L1 — context for any agent reading the repo:
- AGENTS.md (top-level orientation, conventions, no-go zones)
- .cursor/rules/ (no-go-zones, api-routes, prisma, prisma-schema-map)
- .cursor/skills/ (add-api-route, add-prisma-model)
- docs/SCHEMA_MAP.md generated from prisma/schema.prisma
- scripts/generate-schema-map.ts (regenerate the map; wired up as
`npm run schema:map`)
L2 — subagent roles for the 9-stage idea-to-feature pipeline:
- .cursor/agents/role-*.md (conductor, architect, ia-architect,
design-system-auditor, implementer, reviewer, ux-reviewer,
a11y-auditor, doc-writer) with explicit multitask annotations.
L3 — pipeline scaffolding:
- .github/CODEOWNERS, PR template, and CI workflows (ci.yml,
preview-smoke.yml, visual-diff.yml, pr-health-rollup.yml).
Test job is intentionally disabled until Playwright is wired up.
- .convoys/ folder for per-feature run notes + scripts/log-convoy-event.sh.
- scripts/wt.sh worktree helper.
- src/lib/flags/index.ts simple env-driven feature flag wrapper.
- tests/smoke/app.smoke.spec.ts (Playwright smoke; excluded from
tsc until @playwright/test is installed — see tsconfig change).
Also writes .agent-context-manifest.yml so the sync-agent-context
skill can detect drift and offer selective updates from upstream.
Follow-ups (not in this commit):
- Install @playwright/test and re-enable the test job in ci.yml.
- Review .cursor/agents/role-*.md and trim any roles that don't
apply to this codebase.
Co-authored-by: Cursor <cursoragent@cursor.com>
39 lines
1.6 KiB
Text
39 lines
1.6 KiB
Text
---
|
|
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.
|