用途:指导用 TypeScript 设计框架与 SDK,核心是控制反转(IoC)——框架调用用户代码,而非用户调用库函数。若只需函数集合,不应做成框架。
主要能力:区分库与框架(控制权、形态、配置、成功标准);规划典型技术栈(TypeScript 公共契约、插件 API、配置 schema、可选 CLI、测试 harness);给出目录组织(src/index.ts 公共 API、core、plugins、config、errors,monorepo 与 create-foo 脚手架);强调核心小、官方功能也以插件形式提供。
关键规则:生命周期顺序(register → boot → ready → close)需文档化并测试;插件是组合而非 monkey-patch 内部;配置在启动时校验并给出字段路径与期望值;区分公共、实验与 @internal API;破坏 hook/config 属 major;错误要可操作;提供显式逃生舱;默认值本地可用。
用法要点:definePlugin/defineConfig 用于类型推断;上下文(app、config、hooks、logger)是扩展单元而非全局;hook 名称稳定、payload 版本化;异步按序 await,关闭按启动逆序。类型上通过泛型或文档化的 module augmentation 扩展,避免 any 污染。
适用场景:创建或演进框架、SDK、插件系统、CLI 脚手架。限制:资料未提供具体收费、平台或效果信息;示例代码仅为示意,需按实际项目调整。