| name | solid-astro |
| description | Use when applying SOLID principles and clean architecture to Astro projects. Enforces files < 100 lines, src/interfaces/ for types, JSDoc on all exports, modular directory structure, and DRY enforcement. |
SOLID Astro — Modular Architecture
Targets: Astro 7.
Agent Workflow (MANDATORY)
Before ANY implementation, spawn 3 parallel agents (Codex spawn_agent):
- explore-codebase - Analyze project structure, naming, and existing patterns
- research-expert - Verify Astro 7 architecture best practices via Context7/Exa
- Context7 (official docs) - Check Astro component API and TypeScript integration
After implementation, run sniper for validation.
Codebase Analysis (MANDATORY)
Before ANY implementation:
- Explore
src/ directory to understand existing architecture
- Read existing similar files to follow established naming and patterns
- Grep for similar function/component names before creating new ones
- Identify where interfaces, utilities, and shared logic live
DRY Enforcement (MANDATORY)
Before writing ANY new code:
- Grep for similar logic — function names, class patterns, component names
- Check
src/lib/ for existing utilities
- Check
src/components/ for existing UI components
- If logic appears in 2+ places → extract to
src/lib/
- If types appear in 2+ files → move to
src/interfaces/
Absolute Rules
- Files < 100 lines — split at 90
- All types in
src/interfaces/ — never in component files
- JSDoc mandatory on all exported functions
- No business logic in
src/pages/
See references/architecture.md, references/file-limits.md, references/solid-principles.md.
Reference Guide
Concepts
Templates
Forbidden
- Files > 100 lines (split at 90)
- TypeScript interfaces in component
.astro files
- Business logic in
src/pages/ files
- Direct CMS/API calls in components (use
src/lib/ services)
- Copy-pasting logic instead of extracting shared function
- Missing JSDoc on exported functions, components, and types
any TypeScript type