mcpField
N
nestjs-best-practices

nestjs-best-practices

github.com/midudevDevelopment7.0k65 installsUpdated 2w ago
Repository

About nestjs-best-practices

A NestJS guidance skill for developers building, reviewing, or refactoring applications. Its 40 rules span 10 areas and include explanations and code examples in individual rule files.

Key features

  1. 0140 prioritized rules across 10 categories
  2. 02Architecture and dependency injection guidance
  3. 03Security, errors, and performance practices
  4. 04Testing, database, and API recommendations
  5. 05Microservices and deployment guidance

Use cases

  1. 01Review a NestJS application for architecture issues
  2. 02Refactor modules, controllers, or services
  3. 03Check authentication and input validation practices
  4. 04Improve queries, tests, or microservice design

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/midudev/autoskills --skill nestjs-best-practices

After installing, type/nestjs-best-practicesin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

rules/
_sections.md
_template.md
api-use-dto-serialization.md
api-use-interceptors.md
api-use-pipes.md
api-versioning.md
arch-avoid-circular-deps.md
arch-feature-modules.md
arch-module-sharing.md
arch-single-responsibility.md
arch-use-events.md
arch-use-repository-pattern.md
db-avoid-n-plus-one.md
db-use-migrations.md
db-use-transactions.md
devops-graceful-shutdown.md
devops-use-config-module.md
devops-use-logging.md
di-avoid-service-locator.md
di-interface-segregation.md
di-liskov-substitution.md
di-prefer-constructor-injection.md
di-scope-awareness.md
di-use-interfaces-tokens.md
error-handle-async-errors.md
error-throw-http-exceptions.md
error-use-exception-filters.md
micro-use-health-checks.md
micro-use-patterns.md
micro-use-queues.md

Details

From the project README

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

PriorityCategoryImpactPrefix
1ArchitectureCRITICALarch-
2Dependency InjectionCRITICALdi-
3Error HandlingHIGHerror-
4SecurityHIGHsecurity-
5PerformanceHIGHperf-
6TestingMEDIUM-HIGHtest-
7Database & ORMMEDIUM-HIGHdb-
8API DesignMEDIUMapi-
9MicroservicesMEDIUMmicro-
10DevOps & DeploymentLOW-MEDIUMdevops-

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.

Comments

Markdown supported