design_system_architecturelisted
Install: claude install-skill feralbureau/luminy
# design_system_architecture
System architecture is about making decisions that are hard to undo later. Good architecture creates boundaries that let each part of the system change independently. Bad architecture couples everything together, so every change requires touching many files and risks breaking unrelated things.
## Core Architectural Values
1. **Loose coupling**: components depend on abstractions (interfaces), not concrete implementations.
2. **High cohesion**: things that change together live together.
3. **Separation of concerns**: each component has one reason to change.
4. **Testability**: the architecture should make it easy to test each component in isolation.
5. **Deployability**: changes should be isolatable — ideally each component can be deployed independently.
## The Right Starting Point: Start Simple, Earn Complexity
The most common architecture mistake is over-engineering from the start. Microservices, event sourcing, CQRS, and distributed systems are solutions to specific problems that you might not have yet.
**Default recommendation:**
- Start with a well-structured monolith.
- Use Clean Architecture / layered architecture within the monolith.
- Extract services when you have a concrete reason (different scaling needs, team autonomy, independent deployment).
A well-structured monolith can usually scale to millions of users without splitting into microservices. Companies that split too early spend all their time on infrastructure instead of prod