evolutionary-modular-architecture
Guides design and implementation of evolutionary modular-monolith platforms with DDD (strategic + tactical), flat-by-aggregate organization, an Anti-Corruption Layer for vendor independence, a transactional outbox for events, smart resilience (backoff with jitter, circuit breakers, idempotency), and a polished architecture HTML document with elegant SVG diagrams. Use when designing a platform or backend, defining bounded contexts, organizing modules and folders, choosing monolith vs microservices, decoupling from an external service (ERP, storage, AI), making calls resilient, adding real-time
npx skills add tech-leads-club/agent-skills --skill evolutionary-modular-architecture --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.
# Evolutionary Modular Architecture Design and build platforms as an **evolutionary modular monolith**: strong logical boundaries from day one (DDD bounded contexts, flat-by-aggregate modules, an Anti-Corruption Layer around every external system, event-driven communication, resilience by default) while keeping physical boundaries (separate deploys, separate databases) as a later, optional step. Start simple, evolve granularity only when the product and the team justify it — never reverse-engineer microservices from hype. ## When to use this skill - Designing a new platform, backend, or service from scratch. - Defining bounded contexts and a context map for a domain. - Deciding how to organize a module's folders and files. - Choosing between monolith, modular monolith, and microservices. - Integrating with (or decoupling from) an external vendor: ERP, ticketing, storage, payment, AI, identity, durable-workflow engine. - Making external/inter-module calls resilient. - Adding real-time server-to-client updates. - Picking a modern (2026) full-stack TypeScript stack. ## When NOT to use it - Simple CRUD with a handful of endpoints — framework defaults are enough. - Deep, NestJS-specific
- When to use this skill
- When NOT to use it
- The one rule that governs everything
- Core model (load the matching reference when you go deep)
- Workflow
- Phase 0 — Frame the scope
- Phase 1 — Domain discovery (DDD strategic)
- Phase 2 — Boundaries & context map
- Phase 3 — Module internals (flat-by-aggregate)
- Phase 4 — Communication & Anti-Corruption Layer
- Phase 5 — Resilience
- Phase 6 — Stack & evolution
- Phase 7 — Document the architecture (HTML)
- Decision rules (cheat sheet)
What does the evolutionary-modular-architecture skill do?
Guides design and implementation of evolutionary modular-monolith platforms with DDD (strategic + tactical), flat-by-aggregate organization, an Anti-Corruption Layer for vendor independence, a transactional outbox for events, smart resilience (backoff with jitter, circuit breakers, idempotency), and a polished architecture HTML document with elegant SVG diagrams. Use when designing a platform or backend, defining bounded contexts, organizing modules and folders, choosing monolith vs microservices, decoupling from an external service (ERP, storage, AI), making calls resilient, adding real-time
How do I install it?
Run `npx skills add tech-leads-club/agent-skills --skill evolutionary-modular-architecture --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.
