mindrally

prisma-development

3
0
# Install this skill:
npx skills add Mindrally/skills --skill "prisma-development"

Install specific skill from multi-skill repository

# Description

Comprehensive Prisma ORM development guidelines with TypeScript, schema design, migrations, and best practices.

# SKILL.md


name: prisma-development
description: Comprehensive Prisma ORM development guidelines with TypeScript, schema design, migrations, and best practices.


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

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.