Agent-skills-standard 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. (triggers: main.ts, **/*.controller.ts, Transport.GRPC, Transport.RMQ, MicroserviceOptions)
install
source · Clone the upstream repo
git clone https://github.com/HoangNguyen0403/agent-skills-standard
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HoangNguyen0403/agent-skills-standard "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/nestjs/nestjs-transport" ~/.claude/skills/hoangnguyen0403-agent-skills-standard-nestjs-transport && rm -rf "$T"
manifest:
skills/nestjs/nestjs-transport/SKILL.mdsource content
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
RabbitMQ Setup
Monorepo Contracts
- Store all DTOs,
files, and Interfaces in.proto
.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:
Serialization
- Apply
inuseGlobalPipes(new ValidationPipe({ transform: true }))
setup, not HTTP.MicroserviceOptions
Anti-Patterns
- No cross-service imports: Services must import only from
, never from sibling services.libs/contracts - No HttpException in RPC: Use
with globalRpcException
for microservice errors.RpcExceptionFilter - No unversioned message schema: Add new fields; never change existing field types — consumers will break.