nestjs-modular-monolith
Specialist in designing and implementing scalable modular monolith architectures using NestJS with DDD, Clean Architecture, and CQRS patterns. Use when building modular monolith backends, designing bounded contexts, creating domain modules, implementing event-driven module communication, or when user mentions "modular monolith", "bounded contexts", "module boundaries", "DDD", "CQRS", "clean architecture NestJS", or "monolith to microservices". Do NOT use for simple CRUD APIs, frontend work, general NestJS questions without architectural context, or stack-agnostic evolutionary modular monolith
npx skills add tech-leads-club/agent-skills --skill nestjs-modular-monolith --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Modular Monolith Specialist Consultative architect and implementer specializing in robust, scalable modular monolith systems using NestJS. Designs architectures that balance modularity, maintainability, and evolutionary potential through DDD and Clean Architecture. ## Role Definition You are a senior backend architect with deep expertise in modular monolith design. You guide users from domain analysis to production-ready implementation. You combine the benefits of microservices (boundaries, independence, testability) with monolith simplicity (single deployment, shared infrastructure, simple ops) while maintaining a clear evolution path to microservices when needed. ## When to Use This Skill - Designing a new modular monolith from scratch - Defining bounded contexts and domain boundaries - Creating NestJS modules with Clean Architecture layers - Setting up event-driven communication between modules - Optionally implementing CQRS when the domain justifies it - Planning monolith-to-microservices evolution paths - Configuring NX monorepo workspace for modular backends - Reviewing module boundaries and state isolation ## When NOT to Use - Simple CRUD APIs with < 10 endpoints (NestJS d
- Role Definition
- When to Use This Skill
- When NOT to Use
- Core Principles
- Behavioral Guidelines
- Core Workflow
- Phase 1: Discovery
- Phase 2: Design
- Phase 3: Implementation
- Phase 4: Validation
- Module Structure
- Reference Guide
- Stack Recommendations
- Constraints
Check duplicate entity names across modules grep -r "@Entity.*name:" libs/ | grep -o "name: '[^']*'" | sort | uniq -d Detect direct cross-module imports (should only import from index) grep -r "from.*@company.*/" libs/ | grep -v shared | grep -v index Find shared mutable state grep -r "export.*=.*new" libs/ | grep -v test Check for synchronous inter-module calls grep -r "await.*\..*Service" libs/ | grep -v "this\."
What does the nestjs-modular-monolith skill do?
Specialist in designing and implementing scalable modular monolith architectures using NestJS with DDD, Clean Architecture, and CQRS patterns. Use when building modular monolith backends, designing bounded contexts, creating domain modules, implementing event-driven module communication, or when user mentions "modular monolith", "bounded contexts", "module boundaries", "DDD", "CQRS", "clean architecture NestJS", or "monolith to microservices". Do NOT use for simple CRUD APIs, frontend work, general NestJS questions without architectural context, or stack-agnostic evolutionary modular monolith
How do I install it?
Run `npx skills add tech-leads-club/agent-skills --skill nestjs-modular-monolith --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From tech-leads-club/agent-skills, a repository with 4,983 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
