← ClaudeAtlas

quetrex-architectlisted

Use when implementing new features in Quetrex. Ensures TDD, TypeScript strict mode, Next.js App Router patterns, ShadCN UI components, and security best practices are followed. Updated for November 2025 standards.
aiskillstore/marketplace · ★ 329 · Web & Frontend · score 82
Install: claude install-skill aiskillstore/marketplace
# Quetrex Architecture Enforcer ## When to Use - Creating new features - Refactoring existing code - Reviewing PRs - Ensuring pattern compliance ## Process 1. Read CLAUDE.md for project context 2. Read .quetrex/memory/patterns.md for architectural patterns (if exists) 3. Check if feature uses correct patterns: - TypeScript strict (no any, no @ts-ignore) - Zod validation for API routes - Server Components vs Client Components - SSE pattern for streaming 4. If violations found, explain correct pattern 5. Guide implementation following TDD ## Patterns to Enforce ### TypeScript Strict Mode ```typescript // ✅ DO: Explicit types function calculateTotal(items: CartItem[]): number { return items.reduce((sum, item) => sum + item.price, 0) } // ❌ DON'T: Using 'any' function processData(data: any) { } // ✅ DO: Use type guards function isCartItem(obj: unknown): obj is CartItem { return typeof obj === 'object' && obj !== null && 'price' in obj } ``` ### Next.js App Router Patterns ```typescript // ✅ DO: Server Component (default) export default async function DashboardPage() { const projects = await prisma.project.findMany() return <ProjectList projects={projects} /> } // ✅ DO: Client Component (when needed) 'use client' export function InteractiveButton() { const [count, setCount] = useState(0) return <button onClick={() => setCount(count + 1)}>{count}</button> } // ❌ DON'T: Async Client Component 'use client' export default async function BadComponent()