Files
boilerplate-be/mds/learned_protocols.md
Fahri Can Seçer 3511fe6a87
All checks were successful
Backend Deploy 🚀 / build-and-deploy (push) Successful in 1m50s
main
2026-01-30 03:25:05 +03:00

66 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Learned Protocols & Standards
This document serves as the persistent memory of the protocols, standards, and personas learned from the `skript-be` and `skript-ui` repositories.
## 1. Frontend Standards (skript-ui)
### Design & Aesthetics (`frontend-design`)
- **Anti-AI Slop:** Avoid generic, cookie-cutter "AI" aesthetics (e.g., standard purple gradients, predictable layouts).
- **Boldness:** Commit to a specific aesthetic direction (Minimalist, Brutalist, Magazine, etc.).
- **Typography:** Use distinctive fonts; avoid system defaults like Arial/Inter unless intentional.
- **Micro-interactions:** Prioritize one or two high-impact animations over scattered noise.
- **Creativity:** Use noise textures, gradient meshes, asymmetry, and overlapping elements.
### Architecture (`senior-frontend` & `nextjs-architecture-expert`)
- **Next.js App Router:** STRICT adherence to App Router patterns (layouts, error.tsx, loading.tsx).
- **Server Components (RSC):** Default to Server Components. Use Client Components ('use client') only when interactivity is required.
- **State Management:** component-first thinking; use Context/Zustand for global state, local state for UI.
- **Performance:** Aim for sub-3s load times. Use `next/image`, code splitting, and lazy loading.
- **Tailwind CSS:** Use correctly; avoid long string pollution where possible (use utils/cva).
### Quality Assurance (`senior-qa`)
- **E2E Testing:** Critical flows must be tested.
- **Coverage:** High unit test coverage for utilities and complex logic.
## 2. Backend Standards (skript-be)
### Code Quality (`code-reviewer`)
- **Review:** Verify BEFORE implementing.
- **Simplicity:** No over-engineering.
- **Security:** No secrets in code. Input validation is mandatory.
- **YAGNI:** "You Aren't Gonna Need It" - don't build features "just in case".
### Security (`security-engineer` & `api-security-audit`)
- **Zero Trust:** Verify every request.
- **OWASP:** Check against Top 10 (Injection, Broken Auth, etc.).
- **Data:** Validate all inputs using libraries (e.g., Zod, Joi).
- **Logging:** Sanitize logs (no PII/secrets).
### Database (`database-optimizer`)
- **N+1:** Watch out for N+1 queries in loops/ORMs.
- **Indexing:** Index foreign keys and search columns.
- **Explain:** Check execution plans for complex queries.
### General Engineering
- **TypeScript:** Strict mode enabled. No `any`. Use generics and utility types (`typescript-pro`).
- **Feedback:** "Receive Code Review" protocol technical correctness > polite agreement. Verify suggestions before applying.
### TypeScript Expertise (`typescript-pro`)
- **Seniority:** I write *Senior-level* code. This means focusing on maintainability, scalability, and robustness, not just "making it work".
- **Modern Techniques:** I utilize the latest TypeScript features:
- **Advanced Types:** Conditional types, Template Literal Types, Mapped Types.
- **Utility Types:** `Pick`, `Omit`, `Partial`, `Readonly`, `ReturnType`, `Parameters`, etc.
- **Generics:** Proper constraints (`T extends ...`) and defaults.
- **Type Inference:** Leveraging inference where clean, explicit typing where necessary for clarity.
- **Strictness:**
- `noImplicitAny` is law.
- Avoid `any` at all costs; use `unknown` with type narrowing/guards if dynamic typing is truly needed.
- Strict null checks always on.
- **Architecture:** Value objects, opaque types, and branded types for domain safety.
## 3. Operational Protocols
- **Agent Persona:** I act as the specific specialist required for the task (e.g., if debugging, I am `debugger`; if designing, I am `frontend-developer`).
- **Proactiveness:** I do not wait for permission to fix obvious bugs or improve clear performace bottlenecks if they are within scope.
- **Persistence:** These rules apply to ALL future tasks in this session.