用途:该技能用于构建端到端类型安全的应用,适用于类型安全 API(REST、RPC、GraphQL)、校验用户输入与外部数据、确保数据库查询类型安全,以及实现严格校验规则。
主要能力:
- Zod 运行时校验:定义 z.object 模式、用 z.infer 推导类型、safeParse 处理错误,并支持转换、精炼、联合与递归类型。
- tRPC 类型安全 API:通过 initTRPC 创建路由与过程,input 绑定 Zod 模式,导出 AppRouter 供客户端使用,免代码生成。
- 详尽类型检查:使用 assertNever 在 default 分支做编译期穷尽性校验,配合 as const satisfies Record 做穷尽记录映射。
- 品牌类型:用 Zod 的 .brand<'UserId'>() 区分不同 ID,Python 侧可用 NewType 实现类似效果。
- Prisma 类型化 ORM:由 schema 自动生成类型,保证查询类型安全。
- TypeScript 5.7+ 特性:satisfies、const 参数、装饰器等。
- Python ty 类型检查:用 isinstance 与 cast 从无类型字典安全提取值。
使用方式:按需查阅对应参考文件,如 references/zod-patterns.md、references/trpc-setup.md、references/typescript-5-features.md、references/typescript-advanced.md、references/ty-type-checker-patterns.md、references/prisma-types.md。核心栈速查:Zod 用于运行时校验(z.object({}).safeParse(data)),tRPC 用于类型安全 API(t.procedure.input(schema).query()),Prisma 自动生成类型,TypeScript 5.7+ 提供编译期安全。
最佳实践:在边界处校验(API 输入、表单提交、外部数据);用 safeParse 优雅处理错误;ID 使用品牌类型;tsconfig 开启 strict 与 noUncheckedIndexedAccess;优先 unknown 而非 any;switch 默认分支用 assertNever;用 satisfies Record 做穷尽记录;复用模式,热路径避免内联创建;已知良好数据可用 parse;tRPC 支持批处理。
限制:资料未提供安装命令、依赖版本要求、收费与平台信息,均暂未提供。技能版本 1.2.0,最后更新 2025-12-27。相关技能包括 input-validation、api-design-framework、fastapi-advanced。