L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

nestjs-transport

nestjs-transport

Configure gRPC, RabbitMQ, and monorepo contract patterns for NestJS microservices. Use when setting up gRPC service-to-service calls, RabbitMQ event-driven messaging, shared contract libraries, or microservice exception handling in NestJS.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: nestjs-transport description: Configure gRPC, RabbitMQ, and monorepo contract patterns for NestJS microservices. Use when setting up gRPC service-to-service calls, RabbitMQ event-driven messaging, shared contract libraries, or microservice exception handling in NestJS. metadata: triggers: files: - 'main.ts' - '**/*.controller.ts' - 'Transport.GRPC' - 'Transport.RMQ' keywords: - MicroserviceOptions

Microservices & Transport Standards

Priority: P0 (CRITICAL)

  • Synchronous (RPC): Use gRPC for low-latency, internal service-to-service calls (10x faster than REST/JSON).
  • Asynchronous (Events): Use RabbitMQ or Kafka for decoupling domains via fire-and-forget (emit()).

gRPC Setup

See implementation examples

RabbitMQ Setup

See implementation examples

Monorepo Contracts

  • Store all DTOs, .proto files, and Interfaces in libs/contracts.
  • Services never import from sibling services — only from contracts.
  • Semantic versioning of messages mandatory. Never change field type; add new field.

Exception Handling

Standard HttpException lost over RPC/TCP. Use RpcException with global filters:

See implementation examples

Serialization

  • Apply useGlobalPipes(new ValidationPipe({ transform: true })) in MicroserviceOptions setup, not HTTP.

Anti-Patterns

  • No cross-service imports: Services must import only from libs/contracts, never from sibling services.
  • No HttpException in RPC: Use RpcException with global RpcExceptionFilter for microservice errors.
  • No unversioned message schema: Add new fields; never change existing field types — consumers will break.
Skills enregistrées