software-architecture

Guide modular TypeScript/Next.js architecture decisions using Clean Architecture layers and domain boundaries.

Updated Jul 11, 2025
One-click install
npx skills add https://github.com/mattleonard16/taxhelper --skill software-architecture-mattleonard16
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: software-architecture
Source: https://github.com/mattleonard16/taxhelper/tree/main/.factory/skills/software-architecture
Command: npx skills add https://github.com/mattleonard16/taxhelper --skill software-architecture-mattleonard16

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provides senior-level guidance on architectural patterns and domain boundaries to help teams design modular, scalable systems and plan refactors with confidence.

Core Features & Use Cases

  • Comprehensive guidance on Clean Architecture, SOLID principles, and Domain-Driven Design (DDD) to structure codebases.
  • Structured project layout recommendations and boundary definitions for modules, services, and data access.
  • Best-practice patterns and decision criteria to support code reviews, feature planning, and large-scale refactors.
  • Real-world application guidance tailored to typical web apps like a Next.js/TypeScript stack, including how to map existing code to layered architectures.

Quick Start

Provide a concrete architecture plan for the next feature, aligned with Clean Architecture, SOLID, and domain boundaries.

Frequently Asked Questions about software-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a TypeScript project using Clean Architecture and domain boundaries?

Structure a TypeScript project using Clean Architecture by separating it into distinct layers for domain modules, services, and data access. This enforces strict boundaries, ensuring modular and scalable codebases.

What's the best way to plan a refactor for a Next.js codebase to follow SOLID principles?

Plan a Next.js refactor for SOLID principles by mapping existing code to layered architectures. Define clear module boundaries and apply repository/service separation to enforce dependencies during code reviews.

When do I need Domain-Driven Design for my web application architecture?

You need Domain-Driven Design when structuring complex web applications into modular domains. It provides senior-level guidance on architectural patterns to define service layers, API boundaries, and domain module structures.

Can I use this architectural guidance to separate repositories and services in my existing app?

Yes, you can use this guidance to separate repositories and services in existing apps. It provides decision criteria and best-practice patterns specifically for applying repository/service separation across service layers.

How does Clean Architecture enforce boundaries in a scalable TypeScript environment?

Clean Architecture enforces boundaries in a scalable TypeScript environment by isolating domain logic from external concerns. It satisfies requirements for layered structures, ensuring dependencies point inward toward the domain core.