.cursorrules TypeScript Prisma Backend

Prisma ORM + TypeScript

スキーマ設計、型安全なクライアント操作、トランザクション、ミドルウェアパターン、マイグレーション、エラー処理、リポジトリパターンを網羅するPrisma ORMルール。

.cursorrules · 47 lines
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.
Share on X

こちらもおすすめ

Backend カテゴリの他のルール

もっとルールを探す

CLAUDE.md、.cursorrules、AGENTS.md、Image Prompts の全 157 ルールをチェック。