Agent Skills
› ai-shifu/ai-shifu
› module-augmentation-guardrails
module-augmentation-guardrails
GitHub解决 TypeScript 子路径导出类型丢失或冲突,通过规范模块增强写法避免覆盖上游导出,确保类型声明正确生效。
Trigger Scenarios
TypeScript 子路径导出类型丢失
类型声明冲突
模块增强需避免覆盖上游
Install
npx skills add ai-shifu/ai-shifu --skill module-augmentation-guardrails -g -y
SKILL.md
Frontmatter
{
"name": "module-augmentation-guardrails",
"description": "当 TypeScript 对子路径导出出现类型丢失或声明冲突时使用本技能。通过规范的 module augmentation 写法避免覆盖上游导出。"
}
TypeScript 模块增强防护
核心规则
- 改类型前先核对
node_modules中发布版声明文件。 - augmentation 文件必须包含顶层
import "package/subpath";与export {};。 - 仅增强已导出的 interface;非 interface 结构优先用本地 wrapper 类型。
- 为子路径组件补扩展 props 时,要 augment 到真实导出子路径(如
markdown-flow-ui/slide),不要误写到相邻模块导致类型表面可用、运行接入点却不生效。
工作流
- 先确认是上游类型问题还是本地声明覆盖导致。
- 在 augmentation 中显式引入依赖类型(如
InteractionDefaultValueOptions)。 - 避免在
.d.ts里重写整个模块结构。 - 变更后执行定向类型检查,确认导出成员未丢失。
- 若扩展字段依赖 React 类型(如
ReactNode),在声明文件顶层显式import type,避免 TS 在模块增强中退化成any。
Version History
- e65aa77 Current 2026-08-20 15:14


