用途:在阅读或编辑任何 .ts 或 .tsx 文件时应用 TypeScript 最佳实践,先使用 principle-type-system-discipline 技能。
主要能力与规则:用带 kind 字面量判别式的可辨识联合建模变体,避免可选字段堆砌;用 & { readonly __brand: "X" } 品牌化原始类型并在边界处校验一次;采用构造性建模让非法值无法被构造,如 [T, ...T[]] 表示非空、[T, T][] 表示偶数长度、用起点加时长表示区间;在操作保持全函数时保留 T[],仅当松散类型迫使使用 !、类型断言或“不应发生”抛错时才强化为 NonEmpty<T>;外部数据视为 unknown 而非 any;手写逐属性类型守卫前先用仓库的运行时 schema 库并从 schema 推断类型,如 z.infer;避免 as 断言,仅在验证后断言;收窄优先级为判别式 switch > in 运算符 > typeof/instanceof > 用户定义类型守卫 > as;类型守卫必须真正验证,命名用 isX 或 hasX;在 default 分支内联 const _exhaustive: never = x; 以在新变体加入时让编译器报错;用 satisfies 而非 as 以免拓宽字面量类型;在数据进入处解析为具名领域类型,Record<string, unknown> 止于该解析,内部信任类型;优先用 Pick/Omit/Parameters/ReturnType/Awaited/typeof 派生类型而非新声明接口;传对象参数而非位置参数以便自文档化,热路径(逐帧渲染、分词器、解析器)除外;尽量用框架真实测试原语并做泄漏/可释放检查,在运行构建中验证 UI,只 mock 无法本地运行的部分;使用结构化日志诊断,附带足以从 id 调试的上下文,发布代码中不用 console.log。
使用方式与限制:资料未提供安装命令、调用方式或平台信息,暂未提供。示例见 references/patterns.md。