Trpc Patterns
Skill Profile
(Select at least one profile to enable specific modules)
Overview
tRPC enables building type-safe APIs without writing separate schemas or generating code. Types are automatically shared between client and server, making it ideal for TypeScript monorepos and full-stack applications.
tRPC consists of:
- Zero Code Generation: Types inferred automatically, no codegen step
- End-to-End Type Safety: Catch API errors at compile time
- Excellent DX: Autocomplete for API calls in IDE
- Small Bundle: Minimal client-side overhead
- React Integration: Seamless React integration with React Query
Why This Matters
- Zero Code Generation: Types inferred automatically, no codegen step
- End-to-End Type Safety: Catch API errors at compile time
- Excellent DX: Autocomplete for API calls in IDE
- Small Bundle: Minimal client-side overhead
Core Concepts & Rules
1. Core Principles
- Follow established patterns and conventions
- Maintain consistency across codebase
- Document decisions and trade-offs
2. Implementation Guidelines
- Start with the simplest viable solution
- Iterate based on feedback and requirements
- Test thoroughly before deployment
Inputs / Outputs / Contracts
- Inputs:
- API requirements
- Type definitions
- Procedure requirements
- Client requirements
- Entry Conditions:
- Node.js 16+ is available
- tRPC is installed
- TypeScript is configured
- API design is defined
- Outputs:
- tRPC router
- Procedures
- Client setup
- Type definitions
- Artifacts Required (Deliverables):
- Router definitions
- Procedure implementations
- Client setup
- Type definitions
- Middleware implementations
- Acceptance Evidence:
- Procedures work correctly
- Types are shared
- Client calls work
- Autocomplete works
- Success Criteria:
- API is type-safe
- Types are shared
- DX is excellent
- Bundle is small
Skill Composition
Quick Start / Implementation Example
- Review requirements and constraints
- Set up development environment
- Implement core functionality following patterns
- Write tests for critical paths
- Run tests and fix issues
- Document any deviations or decisions
# Example implementation following best practices
def example_function():
# Your implementation here
pass
Assumptions / Constraints / Non-goals
- Assumptions:
- Development environment is properly configured
- Required dependencies are available
- Team has basic understanding of domain
- Constraints:
- Must follow existing codebase conventions
- Time and resource limitations
- Compatibility requirements
- Non-goals:
- This skill does not cover edge cases outside scope
- Not a replacement for formal training
Compatibility & Prerequisites
- Supported Versions:
- Python 3.8+
- Node.js 16+
- Modern browsers (Chrome, Firefox, Safari, Edge)
- Required AI Tools:
- Code editor (VS Code recommended)
- Testing framework appropriate for language
- Version control (Git)
- Dependencies:
- Language-specific package manager
- Build tools
- Testing libraries
- Environment Setup:
.env.example keys: API_KEY, DATABASE_URL (no values)
Test Scenario Matrix (QA Strategy)
| Type |
Focus Area |
Required Scenarios / Mocks |
| Unit |
Core Logic |
Must cover primary logic and at least 3 edge/error cases. Target minimum 80% coverage |
| Integration |
DB / API |
All external API calls or database connections must be mocked during unit tests |
| E2E |
User Journey |
Critical user flows to test |
| Performance |
Latency / Load |
Benchmark requirements |
| Security |
Vuln / Auth |
SAST/DAST or dependency audit |
| Frontend |
UX / A11y |
Accessibility checklist (WCAG), Performance Budget (Lighthouse score) |
Technical Guardrails & Security Threat Model
1. Security & Privacy (Threat Model)
- Top Threats: Injection attacks, authentication bypass, data exposure
2. Performance & Resources
3. Architecture & Scalability
4. Observability & Reliability
Agent Directives & Error Recovery
(ข้อกำหนดสำหรับ AI Agent ในการคิดและแก้ปัญหาเมื่อเกิดข้อผิดพลาด)
- Thinking Process: Analyze root cause before fixing. Do not brute-force.
- Fallback Strategy: Stop after 3 failed test attempts. Output root cause and ask for human intervention/clarification.
- Self-Review: Check against Guardrails & Anti-patterns before finalizing.
- Output Constraints: Output ONLY the modified code block. Do not explain unless asked.
Definition of Done (DoD) Checklist
Anti-patterns / Pitfalls
- ⛔ Don't: Log PII, catch-all exception, N+1 queries
- ⚠️ Watch out for: Common symptoms and quick fixes
- 💡 Instead: Use proper error handling, pagination, and logging
Reference Links & Examples
- Internal documentation and examples
- Official documentation and best practices
- Community resources and discussions
Versioning & Changelog
- Version: 1.0.0
- Changelog:
- 2026-02-22: Initial version with complete template structure
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: trpc-patterns3description: tRPC enables building type-safe APIs without writing separate schemas Use when this capability is needed.4---56# Trpc Patterns78## Skill Profile9*(Select at least one profile to enable specific modules)*10- [ ] **DevOps**11- [x] **Backend**12- [ ] **Frontend**13- [ ] **AI-RAG**14- [ ] **Security Critical**1516## Overview17tRPC enables building type-safe APIs without writing separate schemas or generating code. Types are automatically shared between client and server, making it ideal for TypeScript monorepos and full-stack applications.1819tRPC consists of:20- **Zero Code Generation**: Types inferred automatically, no codegen step21- **End-to-End Type Safety**: Catch API errors at compile time22- **Excellent DX**: Autocomplete for API calls in IDE23- **Small Bundle**: Minimal client-side overhead24- **React Integration**: Seamless React integration with React Query2526## Why This Matters27- **Zero Code Generation**: Types inferred automatically, no codegen step28- **End-to-End Type Safety**: Catch API errors at compile time29- **Excellent DX**: Autocomplete for API calls in IDE30- **Small Bundle**: Minimal client-side overhead3132---3334## Core Concepts & Rules3536### 1. Core Principles37- Follow established patterns and conventions38- Maintain consistency across codebase39- Document decisions and trade-offs4041### 2. Implementation Guidelines42- Start with the simplest viable solution43- Iterate based on feedback and requirements44- Test thoroughly before deployment454647## Inputs / Outputs / Contracts48* **Inputs**:49 - API requirements50 - Type definitions51 - Procedure requirements52 - Client requirements53* **Entry Conditions**:54 - Node.js 16+ is available55 - tRPC is installed56 - TypeScript is configured57 - API design is defined58* **Outputs**:59 - tRPC router60 - Procedures61 - Client setup62 - Type definitions63* **Artifacts Required (Deliverables)**:64 - Router definitions65 - Procedure implementations66 - Client setup67 - Type definitions68 - Middleware implementations69* **Acceptance Evidence**:70 - Procedures work correctly71 - Types are shared72 - Client calls work73 - Autocomplete works74* **Success Criteria**:75 - API is type-safe76 - Types are shared77 - DX is excellent78 - Bundle is small7980## Skill Composition81* **Depends on**: [typescript-standards](../../01-foundations/typescript-standards/SKILL.md), [error-handling](../error-handling/SKILL.md)82* **Compatible with**: [nextjs-patterns](../nextjs-patterns/SKILL.md), [react-best-practices](../../02-frontend/react-best-practices/SKILL.md)83* **Conflicts with**: None84* **Related Skills**: [api-design](../../01-foundations/api-design/SKILL.md), [validation](../validation/SKILL.md)8586---8788## Quick Start / Implementation Example89901. Review requirements and constraints912. Set up development environment923. Implement core functionality following patterns934. Write tests for critical paths945. Run tests and fix issues956. Document any deviations or decisions9697```python98# Example implementation following best practices99def example_function():100 # Your implementation here101 pass102```103104105## Assumptions / Constraints / Non-goals106107* **Assumptions**:108 - Development environment is properly configured109 - Required dependencies are available110 - Team has basic understanding of domain111* **Constraints**:112 - Must follow existing codebase conventions113 - Time and resource limitations114 - Compatibility requirements115* **Non-goals**:116 - This skill does not cover edge cases outside scope117 - Not a replacement for formal training118119120## Compatibility & Prerequisites121122* **Supported Versions**:123 - Python 3.8+124 - Node.js 16+125 - Modern browsers (Chrome, Firefox, Safari, Edge)126* **Required AI Tools**:127 - Code editor (VS Code recommended)128 - Testing framework appropriate for language129 - Version control (Git)130* **Dependencies**:131 - Language-specific package manager132 - Build tools133 - Testing libraries134* **Environment Setup**:135 - `.env.example` keys: `API_KEY`, `DATABASE_URL` (no values)136137138## Test Scenario Matrix (QA Strategy)139140| Type | Focus Area | Required Scenarios / Mocks |141| :--- | :--- | :--- |142| **Unit** | Core Logic | Must cover primary logic and at least 3 edge/error cases. Target minimum 80% coverage |143| **Integration** | DB / API | All external API calls or database connections must be mocked during unit tests |144| **E2E** | User Journey | Critical user flows to test |145| **Performance** | Latency / Load | Benchmark requirements |146| **Security** | Vuln / Auth | SAST/DAST or dependency audit |147| **Frontend** | UX / A11y | Accessibility checklist (WCAG), Performance Budget (Lighthouse score) |148149150## Technical Guardrails & Security Threat Model151152### 1. Security & Privacy (Threat Model)153* **Top Threats**: Injection attacks, authentication bypass, data exposure154- [ ] **Data Handling**: Sanitize all user inputs to prevent Injection attacks. Never log raw PII155- [ ] **Secrets Management**: No hardcoded API keys. Use Env Vars/Secrets Manager156- [ ] **Authorization**: Validate user permissions before state changes157158### 2. Performance & Resources159- [ ] **Execution Efficiency**: Consider time complexity for algorithms160- [ ] **Memory Management**: Use streams/pagination for large data161- [ ] **Resource Cleanup**: Close DB connections/file handlers in finally blocks162163### 3. Architecture & Scalability164- [ ] **Design Pattern**: Follow SOLID principles, use Dependency Injection165- [ ] **Modularity**: Decouple logic from UI/Frameworks166167### 4. Observability & Reliability168- [ ] **Logging Standards**: Structured JSON, include trace IDs `request_id`169- [ ] **Metrics**: Track `error_rate`, `latency`, `queue_depth`170- [ ] **Error Handling**: Standardized error codes, no bare except171- [ ] **Observability Artifacts**:172 - **Log Fields**: timestamp, level, message, request_id173 - **Metrics**: request_count, error_count, response_time174 - **Dashboards/Alerts**: High Error Rate > 5%175176177## Agent Directives & Error Recovery178*(ข้อกำหนดสำหรับ AI Agent ในการคิดและแก้ปัญหาเมื่อเกิดข้อผิดพลาด)*179180- **Thinking Process**: Analyze root cause before fixing. Do not brute-force.181- **Fallback Strategy**: Stop after 3 failed test attempts. Output root cause and ask for human intervention/clarification.182- **Self-Review**: Check against Guardrails & Anti-patterns before finalizing.183- **Output Constraints**: Output ONLY the modified code block. Do not explain unless asked.184185186## Definition of Done (DoD) Checklist187188- [ ] Tests passed + coverage met189- [ ] Lint/Typecheck passed190- [ ] Logging/Metrics/Trace implemented191- [ ] Security checks passed192- [ ] Documentation/Changelog updated193- [ ] Accessibility/Performance requirements met (if frontend)194195196## Anti-patterns / Pitfalls197198* ⛔ **Don't**: Log PII, catch-all exception, N+1 queries199* ⚠️ **Watch out for**: Common symptoms and quick fixes200* 💡 **Instead**: Use proper error handling, pagination, and logging201202203## Reference Links & Examples204205* Internal documentation and examples206* Official documentation and best practices207* Community resources and discussions208209210## Versioning & Changelog211212* **Version**: 1.0.0213* **Changelog**:214 - 2026-02-22: Initial version with complete template structure215216---217> Converted and distributed by [TomeVault](https://tomevault.io/claim/amnadtaowsoam) — claim your Tome and manage your conversions.218<!-- tomevault:4.0:skill_md:2026-04-13 -->