Skip to main content
skill CX Codex

nestjs-best-practices · kadajett — Claude Code skill: what it does, install

A NestJS skill for writing, reviewing, and refactoring code around architecture, dependency injection, security, and performance.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add Kadajett/agent-nestjs-skills --skill nestjs-best-practices -a claude-code
Open on GitHub

What nestjs-best-practices does

nestjs-best-practices contains 40 rules grouped into 10 categories: architecture, dependency injection, error handling, security, performance, testing, databases, API design, microservices, and DevOps. Use it when creating NestJS modules, controllers, and services, or when reviewing and refactoring an existing application.

The rules live in separate Markdown files with explanations, incorrect examples, and corrected examples. Topics include circular module dependencies, constructor injection, JWT, class-validator, exception filters, caching, N+1 queries, migrations, and E2E tests with Supertest. Circular dependencies are placed in the critical architecture category, so they deserve attention before lower-priority API concerns.

What it helps with

  • organize NestJS modules by feature
  • find circular dependencies and duplicate providers
  • review JWT authentication and input validation
  • reduce N+1 query problems and handle transactions
  • write E2E tests with Supertest

Example prompts for the agent

  • Review this NestJS module against the architecture and dependency injection rules.
  • Refactor this service, find circular dependencies, and suggest a repository pattern design.
  • Review the authentication flow for JWT, guards, input validation, and error handling.

How to install nestjs-best-practices

1Skills CLI (Vercel)

npx skills add Kadajett/agent-nestjs-skills --skill nestjs-best-practices -a claude-code

2Manually: put the files in place

~/.claude/skills/nestjs-best-practices/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/nestjs-best-practices/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about nestjs-best-practices

How do I install nestjs-best-practices in Claude Code?

Run npx skills add Kadajett/agent-nestjs-skills --skill nestjs-best-practices -a claude-code, then use ~/.claude/skills/nestjs-best-practices/SKILL.md.

What does nestjs-best-practices do?

The skill provides rules for writing, reviewing, and refactoring NestJS code. It covers architecture, dependency injection, security, performance, testing, databases, API design, microservices, and deployment.

What is included in the individual rule files?

Each file explains the rule and includes an incorrect code example, a corrected example, and additional context. The rules are stored under rules/, such as rules/security-validate-all-input.md.

Source text

SKILL.md · MIT
---
name: nestjs-best-practices
description: NestJS best practices and architecture patterns for building production-ready applications. This skill should be used when writing, reviewing, or refactoring NestJS code to ensure proper patterns for modules, dependency injection, security, and performance.
license: MIT
metadata:
  author: Kadajett
  version: "1.2.0"
---

# NestJS Best Practices

Comprehensive best practices guide for NestJS applications. Contains 40 rules across 10 categories, prioritized by impact to guide automated refactoring and code generation.

## When to Apply

Reference these guidelines when:

- Writing new NestJS modules, controllers, or services
- Implementing authentication and authorization
- Reviewing code for architecture and security issues
- Refactoring existing NestJS codebases
- Optimizing performance or database queries
- Building microservices architectures

## Rule Categories by Priority

| Priority | Category | Impact | Prefix |
|----------|----------|--------|--------|
| 1 | Architecture | CRITICAL | `arch-` |
| 2 | Dependency Injection | CRITICAL | `di-` |
| 3 | Error Handling | HIGH | `error-` |
| 4 | Security | HIGH | `security-` |
| 5 | Performance | HIGH | `perf-` |
| 6 | Testing | MEDIUM-HIGH | `test-` |
| 7 | Database & ORM | MEDIUM-HIGH | `db-` |
| 8 | API Design | MEDIUM | `api-` |
| 9 | Microservices | MEDIUM | `micro-` |
| 10 | DevOps & Deployment | LOW-MEDIUM | `devops-` |

## Quick Reference

### 1. Architecture (CRITICAL)

- `arch-avoid-circular-deps` - Avoid circular module dependencies
- `arch-feature-modules` - Organize by feature, not technical layer
- `arch-module-sharing` - Proper module exports/imports, avoid duplicate providers
- `arch-single-responsibility` - Focused services over "god services"
- `arch-use-repository-pattern` - Abstract database logic for testability
- `arch-use-events` - Event-driven architecture for decoupling

### 2. Dependency Injection (CRITICAL)

- `di-avoid-service-locator` - Avoid service locator anti-pattern
- `di-interface-segregation` - Interface Segregation Principle (ISP)
- `di-liskov-substitution` - Liskov Substitution Principle (LSP)
- `di-prefer-constructor-injection` - Constructor over property injection
- `di-scope-awareness` - Understand singleton/request/transient scopes
- `di-use-interfaces-tokens` - Use injection tokens for interfaces

### 3. Error Handling (HIGH)

- `error-use-exception-filters` - Centralized exception handling
- `error-throw-http-exceptions` - Use NestJS HTTP exceptions
- `error-handle-async-errors` - Handle async errors properly

### 4. Security (HIGH)

- `security-auth-jwt` - Secure JWT authentication
- `security-validate-all-input` - Validate with class-validator
- `security-use-guards` - Authentication and authorization guards
- `security-sanitize-output` - Prevent XSS attacks
- `security-rate-limiting` - Implement rate limiting

### 5. Performance (HIGH)

- `perf-async-hooks` - Proper async lifecycle hooks
- `perf-use-caching` - Implement caching strategies
- `perf-optimize-database` - Optimize database queries
- `perf-lazy-loading` - Lazy load modules for faster startup

### 6. Testing (MEDIUM-HIGH)

- `test-use-testing-module` - Use NestJS testing utilities
- `test-e2e-supertest` - E2E testing with Supertest
- `test-mock-external-services` - Mock external dependencies

### 7. Database & ORM (MEDIUM-HIGH)

- `db-use-transactions` - Transaction management
- `db-avoid-n-plus-one` - Avoid N+1 query problems
- `db-use-migrations` - Use migrations for schema changes

### 8. API Design (MEDIUM)

- `api-use-dto-serialization` - DTO and response serialization
- `api-use-interceptors` - Cross-cutting concerns
- `api-versioning` - API versioning strategies
- `api-use-pipes` - Input transformation with pipes

### 9. Microservices (MEDIUM)

- `micro-use-patterns` - Message and event patterns
- `micro-use-health-checks` - Health checks for orchestration
- `micro-use-queues` - Background job processing

### 10. DevOps & Deployment (LOW-MEDIUM)

- `devops-use-config-module` - Environment configuration
- `devops-use-logging` - Structured logging
- `devops-graceful-shutdown` - Zero-downtime deployments

## How to Use

Read individual rule files for detailed explanations and code examples:

```
rules/arch-avoid-circular-deps.md
rules/security-validate-all-input.md
rules/_sections.md
```

Each rule file contains:
- Brief explanation of why it matters
- Incorrect code example with explanation
- Correct code example with explanation
- Additional context and references

## Full Compiled Document

For the complete guide with all rules expanded in a single document, see
[AGENTS.md in the repository](https://github.com/Kadajett/agent-nestjs-skills/blob/main/AGENTS.md).

© Kadajett · MIT · Kadajett/agent-nestjs-skills

Similar skills

Everything for Backend and APIs →

nestjs-best-practices by other authors comes first.

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor