Files
digital-psychology/.ai/forbidden.md
T
jackyu66gitandCursor 0f320e040b feat: P1 profile/portrait API and freeze local-dev environment
Add host-first environment contracts (Local vs CI vs Prod), deps-only
compose, and the Profile → Portrait → deep-access mock payment slice
with device identity and auto-migrate on API startup.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 16:24:57 +08:00

1.7 KiB

Forbidden — Never

AI obeys NEVER rules strictly.

Code

  • Never use panic on request paths.
  • Never ignore errors (_ = err on important paths).
  • Never create circular dependencies.
  • Never put SQL in handlers.
  • Never put gin.Context in repositories.
  • Never use package-level mutable globals for request state.
  • Never use SELECT * in new SQL.
  • Never introduce any casually in TypeScript.
  • Never put fetch directly in Vue pages.

API / data

  • Never invent response shapes other than {code,message,data}.
  • Never use POST for pure read/query.
  • Never skip migration when schema changes.
  • Never hand-apply schema changes on shared/prod DB instead of migrations.
  • Never edit already-merged migration files on main (fix forward).
  • Never hard-delete user PII without explicit task (use soft delete).

Security / deploy / environment

  • Never hardcode passwords, tokens, or secrets.
  • Never commit .env or private keys.
  • Never use Docker image tag latest in production.
  • Never log full birthday + answers payloads casually.
  • Never introduce a Docker-only local coding workflow for Go/Vue.
  • Never require application image rebuild after every local code change.
  • Never put local secrets into Docker images.
  • Never mix local/dev config with production config or prod compose as daily default.
  • Never assume docker compose up must start api + web for development.

Product / process

  • Never invent medical efficacy or 吉凶祸福 copy.
  • Never reverse an Accepted ADR without a new ADR + approval.
  • Never modify files outside the current task.
  • Never extend Legacy root HTML unless the task is migration.
  • Never guess requirements — ASK FIRST.