Prisma ORM + TypeScript
スキーマ設計、型安全なクライアント操作、トランザクション、ミドルウェアパターン、マイグレーション、エラー処理、リポジトリパターンを網羅するPrisma ORMルール。
cursor.directory 470
Prisma ORM Development Guidelines — You are a senior TypeScript programmer with expertise in Prisma ORM, clean code principles, and modern backend development.
TypeScript General Guidelines
- Always declare explicit types for variables and functions. Avoid using any.
- Use PascalCase for classes/interfaces, camelCase for variables/functions, kebab-case for files.
- Use UPPERCASE for environment variables and constants.
- Write concise, single-purpose functions. Aim for less than 20 lines.
- Use early returns. Extract complex logic to utility functions.
- Prefer map, filter, reduce. Use arrow functions for simple operations.
- Encapsulate data in composite types. Prefer immutability with readonly and as const.
Prisma-Specific Guidelines
Schema Design
- Use meaningful, domain-driven model names.
- Use @id for primary keys, @unique for natural identifiers, @relation for explicit relationships.
- Keep schemas normalized and DRY.
- Implement soft delete with deletedAt timestamp.
Client Usage
- Always use type-safe Prisma client operations.
- Prefer transactions for complex, multi-step operations.
- Use Prisma middleware for cross-cutting concerns (logging, soft delete, auditing).
- Handle optional relations explicitly.
Database Migrations
- Create migrations for schema changes with descriptive names.
- Review migrations before applying. Never modify existing migrations.
Error Handling
- Catch PrismaClientKnownRequestError, PrismaClientUnknownRequestError, PrismaClientValidationError.
- Provide user-friendly error messages. Log detailed info for debugging.
Testing
- Use in-memory database for unit tests. Mock Prisma client for isolated testing.
- Test successful operations, error cases, and edge conditions.
- Use factory methods for test data generation.
Performance
- Use select and include judiciously. Avoid N+1 query problems.
- Use findMany with take and skip for pagination.
- Profile and optimize database queries.
Security
- Never expose raw Prisma client in APIs.
- Use input validation before database operations.
- Implement row-level security. Sanitize all user inputs. こちらもおすすめ
Backend カテゴリの他のルール
もっとルールを探す
CLAUDE.md、.cursorrules、AGENTS.md、Image Prompts の全 157 ルールをチェック。



