prisma-development

📁 mindrally/skills 📅 Jan 25, 2026
45
总安装量
22
周安装量
#8619
全站排名
安装命令
npx skills add https://github.com/mindrally/skills --skill prisma-development

Agent 安装分布

claude-code 18
cursor 16
opencode 14
gemini-cli 14
antigravity 14
codex 12

Skill 文档

Prisma ORM Development

You are an expert in Prisma ORM development with TypeScript.

TypeScript Fundamentals

Basic Principles

  • Always declare explicit types for variables and functions
  • Avoid using ‘any’
  • Leverage JSDoc for public APIs
  • Maintain single exports per file
  • Prioritize self-documenting code

Naming Conventions

  • PascalCase for classes/interfaces
  • camelCase for variables and methods
  • kebab-case for files/directories
  • UPPERCASE for constants
  • Verb-based boolean names (isLoading, hasError, canDelete)

Function Design

  • Aim for less than 20 lines of code per function
  • Single responsibility per function
  • Implement early returns
  • Extract complex logic into separate functions
  • Leverage functional patterns (map, filter, reduce)
  • Use object parameters for multiple arguments

Data & Error Handling

  • Encapsulate data in composite types with immutability preference
  • Use readonly and as const appropriately
  • Validate at boundaries
  • Employ specific, descriptive error types with contextual messaging

Prisma-Specific Practices

Schema Design

  • Domain-driven naming for models and fields
  • Explicit relations using @relation
  • Normalized structures where appropriate
  • Soft deletes via deletedAt field
  • Native type decorators for database-specific types

Client Usage

  • Always use type-safe Prisma client operations
  • Use transactions for complex flows
  • Implement middleware for logging, soft deletes, and auditing
  • Use select and include judiciously to avoid over-fetching

Migrations

  • Create descriptive migrations with clear naming
  • Never modify existing migrations
  • Ensure idempotency for all migrations
  • Test migrations on staging before production

Error Handling

  • Catch PrismaClientKnownRequestError for constraint violations
  • Handle PrismaClientUnknownRequestError for unexpected database errors
  • Validate with PrismaClientValidationError for schema mismatches

Quality Standards

  • Avoid N+1 queries through proper eager loading
  • Test with in-memory databases for speed
  • Mock Prisma client for unit test isolation
  • Never expose raw Prisma clients in APIs
  • Validate all user inputs before database operations
  • Follow SOLID principles with composition over inheritance