--- name: agentic_architecture description: Enforces high-level architectural thinking, separation of concerns, and scalability checks before coding. allowed-tools: Read, Edit --- # Agentic Architecture Protocol ## 1. Think Before You Code Before implementing any feature that spans multiple files: 1. **Analyze Data Flow**: Where does data come from? Where does it go? 2. **Define Interfaces**: creating `types/*.ts` is often the best first step. 3. **Check Boundaries**: Ensure API logic stays in `api/`, UI in `components/`, and business logic in `services/` or `hooks/`. ## 2. Scalability & Performance Checks - **Database**: - Are we fetching 1000 items to filter 10? (Use DB filters instead). - Is RLS (Row Level Security) compatible with this query? - **Frontend**: - Are we causing unnecessary re-renders? (Use `React.memo`, `useCallback` appropriately). - Is this component becoming a "God Component"? (Break it down). ## 3. The "Three-Tier" Rule For any non-trivial feature, verify you have these three layers: 1. **Data Layer**: Types + API/Service (e.g., `user.types.ts`, `userService.ts`) 2. **State Layer**: Hook or Store (e.g., `useUser.ts`) 3. **View Layer**: Components (e.g., `UserProfile.tsx`) ## 4. Architecture Checklist - [ ] Have I defined the types first? - [ ] Is the business logic separated from the UI? - [ ] Did I consider how this scales to 10,000 users/items? - [ ] Is the database schema validated (if changing DB)?