用途:在 blogic-template-ts 项目中实现或重构 TRPC 路由器与过程,统一输入模式、过程选择、中间件与错误处理。
主要规则:简单输入模式直接内联在过程里,复用项目枚举与共享类型而非硬编码字符串;仅当复用或复杂度需要时才抽出 schema 常量。按访问需求选择最窄的可用基础过程:无需认证用 publicProcedure,需认证用 protectedProcedure,全局管理员用 adminProcedure,需组织范围成员校验用 protectedMemberAccessProcedure;现有过程都不满足时才用 .use() 构建自定义过程。中间件用 .use() 创建并始终以 opts.next(...) 继续,按职责命名,只向下游添加上下文所需值。错误从项目基础设施导入并使用标准化助手抛出,如 notFoundError,存在助手时不要在路由和中间件中手动实例化 TRPCError。
类型:依赖后端路由器定义的静态类型推断,统一导出根路由器类型并导入前端 TRPC 客户端,避免手写重复的输入/输出类型。适用场景为 router 结构、访问控制、中间件与错误;查询级性能调优(JOIN 策略、批量读取、N+1、索引)交给 performance-optimization 技能。详细示例见 references/simple-schemas.md、custom-procedures.md、middleware-patterns.md、error-handling.md。