quetrex-architectlisted
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()