api-event-rabbitmq

SKILL.md

RabbitMQ Event Bus

Purpose

Generate RabbitMQ event bus services for publishing and subscribing to domain events with tenant routing, durable queues, and automatic reconnection.

When to Use

  • Implementing event-driven architecture
  • Cross-service communication
  • Async event processing
  • Domain event sourcing
  • Microservices integration

What It Generates

Directory Structure

apps/api/src/modules/{feature}/events/
├── publishers/
│   ├── {event}.publisher.ts
│   └── index.ts
├── subscribers/
│   ├── {event}.subscriber.ts
│   └── index.ts
└── index.ts

Patterns Enforced

Tenant Routing

Events use tenant-specific routing keys:

  • Format: {tenantId}.{event.pattern}
  • Enables tenant-scoped event handling
  • Supports wildcard subscriptions

Durable Queues

Queues survive broker restarts:

  • queueOptions: { durable: true }
  • Messages persisted
  • No data loss on restart

Persistent Messages

Messages survive broker restart:

  • messageOptions: { persistent: true }
  • Critical for domain events
  • At-least-once delivery

Acknowledgments

Manual ack for reliability:

  • Handlers ack on success
  • Handlers nack on failure
  • Dead letter for failed events

Usage Example

/skill event-rabbitmq --name=User --events='created,updated,deleted'

Related Files

Weekly Installs
1
GitHub Stars
1
First Seen
7 days ago
Installed on
amp1
cline1
opencode1
cursor1
kimi-cli1
codex1