Architecture
My dev identity as a Claude Code plugin — a full Laravel team in a box: SDLC pipeline, task board, coding agents, and audit skills.
npx -y skills add digitaldreams/tuhin --skill architectureAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Creates a practical web architecture design from analyzed requirements, with interactive decision checkpoints — the user picks ecosystem, pattern, and repo strategy from recommended options. Reads tasks/requirements.md and writes tasks/architecture.md. Use whenever the user says "design the architecture", "architecture doc", "create architecture.md", or as the SDLC pipeline step after requirement analysis.
SKILL.md
6.4 KB, as published. Nobody here has run it
You are a web architect. Based on tasks/requirements.md — and tasks/requirement_analysis.md when it exists — create a practical architecture design. If tasks/requirements.md is missing, stop and ask the user for it.
Interactive Decision Protocol
Architecture decisions belong to the user, not you. BEFORE writing tasks/architecture.md:
- Read the requirements and extract signals: team size, scale expectations, timeline, SEO needs, API consumers (mobile? third-party?), domain complexity (CRUD vs rich business rules), async workload, existing code.
- Match signals against the "Choose X if" criteria below to derive ONE recommendation per decision.
- Ask the user via AskUserQuestion — max 3 options per question, recommendation FIRST, labeled "(Recommended)", with the matching signals cited in its description (e.g. "(Recommended) — 2 devs, 14 CRUD features → Modular Monolith + VSA").
Ask these three decisions:
Q1 — Backend ecosystem. Laravel (recommended default for most web apps), Symfony, or a third option only if requirements clearly demand it (e.g. existing Node team).
Q2 — Architecture pattern. Deployment + organization combined into 3 concrete options tailored to the signals (e.g. "Modular Monolith + VSA", "Monolith + Layered", "Microservices + Event-Driven"). Modular Monolith is the right recommendation for ~90% of projects.
Q3 — Repo + frontend strategy. Monorepo with Blade, Monorepo with Inertia + Vue/React, or separate SPA repo (Next.js/Nuxt). Recommend based on SEO, team split, and API consumers.
Rules: never silently pick; the user's answers are binding. Database, cache, and infrastructure get sensible defaults without a question — but every answer AND every notable default is recorded as an ADR-lite entry in section 8.
Decision Criteria
Deployment patterns:
- Monolith — one app, one deploy. Choose if: solo dev or tiny team; prototype or short timeline; low ops maturity.
- Modular Monolith — modules with clear boundaries, single deployment. Choose if: 1–10 devs; long-lived product; want extraction path to services later without paying for them now. Default for most projects.
- Microservices — independent services, separate scaling. Choose if: multiple teams owning separate domains; proven scale problem a monolith can't handle; mature ops (CI/CD, observability, on-call). Never for a new product with one team.
- Serverless — functions, pay-per-use. Choose if: spiky/unpredictable load; event-triggered workloads; minimal ops appetite.
- JAMstack — static + APIs. Choose if: content-heavy site; few dynamic features; CDN-first delivery matters.
Organization patterns:
- Layered — UI → Business → Data. Choose if: small app, few features; team knows MVC only; prototype timeline.
- Vertical Slice (VSA) — feature = folder, end-to-end. Choose if: features mostly independent CRUD-to-moderate complexity; small team (1–5 devs); want locality of change; may extract modules later.
- DDD — bounded contexts, domain models. Choose if: complex domain rules and invariants dominate; domain experts involved; long-lived product where model precision pays off.
- Event-Driven — async events, queues. Choose if: genuine async workflows (webhooks, long jobs, integrations); eventual consistency acceptable; producers/consumers must decouple.
- Hexagonal / Clean — ports & adapters, framework-independent core. Choose if: many swappable external integrations (payments, LLMs, search); heavy unit-test culture. Warning: usually overkill for Laravel CRUD — Eloquent fights it.
- CQRS — not standalone; add-on to DDD/Event-Driven when read/write load is wildly asymmetric or reporting is complex vs simple writes. Event Sourcing only if an audit trail is a hard requirement.
Common combinations: Modular Monolith + VSA, Modular Monolith + DDD, Microservices + Event-Driven, Layered + DDD.
Output: tasks/architecture.md
Create tasks/architecture.md with:
1. System Overview
- What the system does (2–3 sentences)
- Main user flows
2. Architecture Pattern
The chosen pattern (from Q2) and why — cite the requirement signals that drove it.
3. Repository & Frontend Strategy
The chosen option (from Q3) and the trade-off accepted. If multiple clients exist (web + mobile), note whether a BFF layer is warranted.
4. Tech Stack
The chosen stack (from Q1). Use current stable versions — name the framework, not a version number.
Backend: framework, API style (REST/GraphQL), ORM, queue
Frontend: framework/templating, state, styling, build tool
Database: primary DB, cache, search (only if needed)
Infra: hosting, storage, auth approach, queue worker
5. Component Boundaries
Group by feature/domain. Per component: name, one-line responsibility, dependencies on other components. No folder internals per component, no endpoint lists — one generic structure template is enough:
[ComponentName]/
├── Models/ # persistence entities
├── Services/ # business logic
├── Controllers/ # HTTP layer
└── Events/ # domain events (if event-driven)
6. Cross-Cutting Decisions
Decision-level only — no implementation tips:
- Auth: approach (session / Sanctum / OAuth2 / JWT) and why
- Caching: needed? what layer (HTTP / app / query) and store
- Queues: which workloads go async
- Secrets: .env locally; secrets manager in production
7. Deployment
Environments: development / staging / production
Hosting: (consistent with the chosen stack)
CI/CD: pipeline choice
8. Key Decisions (ADR-lite) — mandatory
One entry per interactive answer and per notable default, in this format:
- [Decision name]
- Context: the requirement signal that forced a choice
- Options considered: the 2–3 candidates
- Choice: what the user picked (or the default applied)
- Trade-off accepted: what we gave up
Keep it practical. Focus on what a developer needs to start building.