Architecture Audit
Priority: P1 (STANDARD)
1. Discover Structural Duplication
Identify split sources of truth by searching for redundant directory patterns.
- Compare
Service.tsvsServiceNew.tsvsServiceV2.ts. - Check for
/v1,/v2or "Refactor" folders.
See implementation examples for detection scripts.
2. Detect Logic Leakage (by Ecosystem)
Find business logic trapped in wrong layer.
- Web (React/Next.js/Vue):
grep -rE "useEffect|useState|useMemo" components --include="*.tsx" | wc -l— ifcomponents/hook count > 20xhooks/folder, architecture monolithic. - Mobile (Flutter/React Native):
grep -rE "http\.|dio\.|socket\." lib/widgets --include="*.dart" | wc -l— I/O or state mutation > 5 lines inbuild()High Debt. - Backend (NestJS/Go/Spring):
grep -rE "Repository\.|Query\.|db\." src/controllers --include="*.ts" | wc -l— Controllers must only handle request parsing and response formatting.
3. Identify Monoliths
Flag massive files violating Single Responsibility Principle.
- UI: > 500 lines (Medium), > 1,000 lines (Critical).
- Backend Services: > 1,500 lines indicates "God Class".
See implementation examples for monolith detection scripts.
4. Audit Resource Performance
Check for large metadata or constants impacting IDE performance and binary size.
- Resources > 1,000 lines require granulation.
See implementation examples for resource audit scripts.
Scoring Impact
- Layer Violation: -15 per business logic instance in UI/Controller layer.
- Structural Fragmentation: -10 per duplicated legacy entity.
- Monoliths: -10 per unit > 1,000 lines.
Anti-Patterns
- No applying generic patterns over project-specific rules: Respect existing architecture constraints.
- No ignoring error handling or edge cases: Audit must cover boundary conditions.