用途:在语言层统一 TypeScript 规范,同时保留项目与框架的既有约定。框架技能负责路由、渲染、部署及框架要求的文件形态,项目结构技能负责与语言无关的仓库策略,本技能只处理语言层。
主要能力: 编译器与运行时——在添加或升级编译器前,从一手来源核实当前稳定版及运行时兼容性,并在项目锁文件中固定所选版本。若运行时或框架提供维护中的 tsconfig 基础配置则从其出发,否则启用 strict、noUncheckedIndexedAccess、exactOptionalPropertyTypes、noImplicitOverride、useUnknownInCatchVariables。让 target、lib、模块格式、模块解析、产物扩展名与全局类型与实际运行时和部署目标一致,不做项目不满足的打包器、Node、Bun 或浏览器假设。输出由其他工具负责时使用 noEmit。 类型与 API——不使用 any;在不可信边界接受 unknown,一次校验或收窄后向下游传递已校验类型。实现内部优先推断,公共、序列化、异步与依赖边界使用显式类型。用可辨识联合建模状态变体并穷尽处理,避免允许非法状态的布尔组合。使用完整、领域化的命名,避免万能 utils、helpers 或 lib 模块。避免非空断言与类型断言;外部不变量确需断言时保留在边界并就近说明。@ts-expect-error 仅用于有意的、已描述的类型层测试,不得用 @ts-ignore 让项目门禁通过。 模块与测试——遵循运行时、框架与项目既定的模块边界和公共 API 布局,保持依赖方向可见并避免循环。测试可观测的运行时行为与可能回归的类型契约,编译期夹具与运行时断言分开。 完成标准——聚焦测试与仓库门禁通过;相同内容与环境的通过证据可复用。类型检查经门禁或产出型 tsc 构建运行;两者都未覆盖时才需单独 no-emit 运行。当 TypeScript 产出生产代码时,产物需在目标运行时验证。
限制:不负责框架特有的路由、渲染、部署与文件形态;不支持未提供的框架或版本特定结论。