buddy
nWave concierge — ask any question about methodology, project state, commands, migration, or troubleshooting. Read-only, contextual answers.
Designs system architecture with C4 diagrams and technology selection. Use when defining component boundaries, choosing tech stacks, or creating architecture documents.
> /plugin marketplace add nWave-ai/nWave > /plugin install nw@nwave-marketplace
How it fires
How this command gets triggered: by you, by Claude, or both.
/designContext preview
What this command does when you run it.
Designs system architecture with C4 diagrams and technology selection. Use when defining component boundaries, choosing tech stacks, or creating architecture documents.
description: "Designs system architecture with C4 diagrams and technology selection. Use when defining component boundaries, choosing tech stacks, or creating architecture documents." argument-hint: "[component-name] - Optional: --residuality --paradigm=[auto|oop|fp]"
**Wave**: DESIGN (wave 3 of 6) | **Agents**: Morgan (nw-solution-architect), nw-system-designer, nw-ddd-architect, nw-platform-architect | **Command**: `*design-architecture`
Execute DESIGN wave through discovery-driven architecture design. The command routes to the right architect based on design scope: system-level (distributed architecture, scalability), domain-level (DDD, bounded contexts), or application-level (component boundaries, tech stack). Users choose an interaction mode — guided (collaborative Q&A) or propose (architect analyzes requirements and presents options with trade-offs). Analyzes existing codebase, evaluates open-source alternatives, produces C4 diagrams (Mermaid) as mandatory output.
**Question**: What are you designing?
You MUST ask this question before invoking any architect. Do NOT default to application scope. The answer determines WHICH agent to invoke.
**Options**: 1. **System / infrastructure** — distributed architecture, scalability, caching, load balancing, message queues → invokes @nw-system-designer 2. **Domain / bounded contexts** — DDD, aggregates, Event Modeling, event sourcing, context mapping → invokes @nw-ddd-architect 3. **Application / components** — component boundaries, hexagonal architecture, tech stack, ADRs → invokes @nw-solution-architect 4. **Full stack** — all three in sequence: system -> domain -> application → invokes all three agents sequentially 5. **Platform / delivery infrastructure** — deployment architecture, CI/CD, infrastructure as code, observability, production readiness → invokes @nw-platform-architect
**Question**: How do you want to work?
**Options**: 1. **Guide me** — the architect asks questions, you make decisions together 2. **Propose** — the architect reads your requirements and proposes 2-3 options with trade-offs
Before beginning DESIGN work, read SSOT and prior wave artifacts:
1. **SSOT** (if `docs/product/` exists):
2. **DISCUSS** (primary input): Read from `docs/feature/{feature-id}/discuss/`:
3. **DISCOVER** (synthesis check only): Read `docs/feature/{feature-id}/discover/wave-decisions.md` — only if architecturally relevant
DISCUSS already synthesizes evidence into structured user stories. DESIGN reads SSOT architecture first (to extend, not recreate), then feature-level artifacts for the delta.
**READING ENFORCEMENT**: You MUST read every file listed in Prior Wave Consultation above using the Read tool before proceeding. After reading, output a confirmation checklist (`✓ {file}` for each read, `⊘ {file} (not found)` for missing). Do NOT skip files that exist — skipping causes architectural decisions disconnected from requirements.
After reading, check whether any DESIGN decisions would contradict DISCUSS requirements. Flag contradictions and resolve with user before proceeding. Example: DISCUSS requires "real-time updates" but DESIGN chooses batch processing — this must be resolved.
When DESIGN decisions change assumptions from prior waves: 1. Document the change in a `## Changed Assumptions` section at the end of the affected DESIGN artifact 2. Reference the original prior-wave document and quote the original assumption 3. State the new assumption and the rationale for the change 4. If architecture constraints require changes to user stories or acceptance criteria, note them in `docs/feature/{feature-id}/design/upstream-changes.md` for the product owner to review
Architecture decisions driven by quality attributes, not pattern shopping:
Review JTBD artifacts from DISCUSS to understand which jobs the architecture must serve. Morgan asks: What are we building? For whom? Which quality attributes matter most? (scalability|maintainability|testability|time-to-market|fault tolerance|auditability)
Morgan asks: Team size/experience? Timeline? Existing systems to integrate? Regulatory requirements? Operational maturity (CI/CD, monitoring)?
Morgan asks: How many teams? Communication patterns? Does proposed architecture match org chart?
Morgan identifies primary language(s) from constraints, then applies:
After confirmation, ask user permission to write paradigm to project CLAUDE.md:
Default if user declines/unsure: OOP. User can override later.
Recommend based on quali
AI agents that guide you from idea to working code, with human judgment at every gate. nWave runs inside Claude Code. It breaks feature delivery into seven waves (discover, diverge, discuss, design, devops, distill, deliver).
Repo: nWave-ai/nWave
nWave concierge — ask any question about methodology, project state, commands, migration, or troubleshooting. Read-only, contextual answers.
Bug fix workflow: root cause analysis → user review → regression test + fix via TDD
Detects current wave progress for a feature and resumes at the next step. Scans docs/feature/ for artifacts.
Orchestrates the full DELIVER wave end-to-end (roadmap > execute-all > finalize). Use when all prior waves are complete and the feature is ready for…
Designs CI/CD pipelines, infrastructure, observability, and deployment strategy. Use when preparing platform readiness for a feature.
Generates C4 architecture diagrams (context, container, component) in Mermaid or PlantUML. Use when creating or updating architecture visualizations.