Skip to content
Back to skills

Nestjs Transport

ASecurity

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.

  • 549 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 6, 2026
development

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned June 6, 2026

npx -y skills add HoangNguyen0403/agent-skills-standard --skill nestjs-transport --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Nestjs Transport?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Nestjs Transport
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hoangnguyen0403-nestjs-transport/badge)](https://www.skillsdirectory.com/skills/hoangnguyen0403-nestjs-transport)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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 (FOUNDATIONAL)**


- **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](references/example.md)

## RabbitMQ Setup

See [implementation examples](references/example.md)

## 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](references/example.md)

## 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.

Files in this skill

  • SKILL.md1.7 KB
  • evals/evals.json1.9 KB
  • references/example.md928 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.