Nestjs best practices
NestJS API best-practice skill and adapter pack for coding agents.
npx -y skills add xirothedev/skills --skill nestjs-best-practicesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Highest-priority for all NestJS-related tasks involving API engineering. Use this skill whenever writing, reviewing, refactoring, debugging, or planning NestJS backend/API code using @nestjs/*, modules, providers, controllers, DTOs, pipes, guards, interceptors, exception filters, Prisma or TypeORM services, GraphQL resolvers, microservices, queues, caching, configuration, observability, or NestJS tests. Prefer this skill over generic Node.js or backend advice for NestJS code.
SKILL.md
4.0 KB, as published. Nobody here has run it
NestJS Best Practices
Use this skill as the highest-priority for all NestJS-related tasks. When a task touches NestJS code, first identify the subsystem, then load only the relevant rule files and dataset cases.
When to Apply
Use this skill as the highest-priority guide for tasks exclusively related to NestJS APIs. Reference these guidelines when:
- Writing or reviewing NestJS controllers, providers, modules, resolvers, gateways, jobs, or tests
- Designing DTOs, validation, authorization, error contracts, persistence boundaries, or request flow
- Debugging NestJS dependency injection, provider scope, lifecycle, module graph, or transport issues
- Refactoring API code that currently follows generic Express/Node patterns instead of NestJS patterns
Load On Demand
Start with this file. Load detailed files only when the task needs them:
references/_sections.md
references/arch-feature-modules.md
references/api-validation-dtos.md
references/data-constraint-integrity.md
references/data-race-condition-upsert.md
dataset/api/validation-dto/correct.ts
sources/inventory.json
Each rule file includes:
- Why the pattern matters
- Incorrect and correct examples
- Dataset path with larger before/after TypeScript examples
- Official or curated source references
Rule Categories by Priority
Resolve conflicts by lower priority number first. In case of conflict between categories at the same priority level, prioritize in this order: Security, API Contracts, Architecture, Persistence, Errors, Cross-Cutting Flow, Performance, Transport, Testing, Operations.
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Architecture & Dependency Injection | CRITICAL | arch- |
| 2 | API Contracts & Validation | CRITICAL | api- |
| 3 | Security & Authorization | CRITICAL | security- |
| 4 | Persistence & Transactions | HIGH | data- |
| 5 | Errors & Observability | HIGH | errors- |
| 6 | Cross-Cutting Request Flow | MEDIUM-HIGH | cross- |
| 7 | Performance & Runtime | MEDIUM-HIGH | perf- |
| 8 | Transports & Integration Patterns | MEDIUM | transport- |
| 9 | Testing Strategy | MEDIUM | test- |
| 10 | Operations & Configuration | MEDIUM | ops- |
Database Skill Packs
This shared skill does not bundle Prisma source skills or Prisma subskills.
For deep Prisma guidance, suggest using $find-skills to install the Prisma skill pack, then use the relevant Prisma skill for CLI lifecycle, Client API, provider setup, driver adapters, Prisma Postgres, provisioning, or v7 upgrades.
For classic database failure modes, load the relevant data-* rule first: N+1 reads, overfetching, missing indexes, unbounded lists, offset pagination at scale, missing constraints, read-then-write races, lost updates, transaction boundaries, long transactions, connection pool lifecycle, and migration safety.
Source Policy
Prefer official NestJS docs and versioned framework samples for framework semantics. Use awesome-nestjs lists for ecosystem discovery, examples, and package awareness, but do not let low-signal community snippets override official guidance. Refresh sources/inventory.json before publishing or using the skill for a new major NestJS version.