关于 sdk-development
sdk-development 是用于从头构建或从现有应用提取 TypeScript SDK 的技能,涵盖公共 API 设计、类型化客户端与错误、构建、测试及 npm 发布。
主要功能
- 01公共 API 与客户端设计
- 02类型化方法和错误
- 03ESM、CJS 与类型构建
- 04单元及集成测试
- 05npm 发布流程
适用场景
- 01从头创建 TypeScript SDK
- 02从现有应用提取 SDK
- 03准备将 SDK 发布到 npm
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ srstomp/ pokayokay --skill sdk-development安装后在 Claude Code 中输入/sdk-development确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/build-tools-and-output.mdbundle-optimization-and-distribution.mdci-cd-and-documentation.mdconfiguration-and-api-design.mderror-handling-and-async.mdevents-storage-and-logging.mdextraction-scope-and-boundaries.mdextraction-usages-and-planning.mdinternal-architecture-and-best-practices.mdpackage-structure-and-clients.mdpublishing-and-registries.mdtype-design.md详细介绍
SDK 开发
从零开始创建专业的 TypeScript SDK,或通过提取现有代码来创建。
核心原则
- 简洁的公共 API — 仅导出使用者需要的内容,隐藏内部实现
- 为所有内容添加类型 — 为配置、方法、响应和错误提供完整的类型覆盖
- 有意义的错误 — 使用带有代码和上下文信息的类型化错误类
- 合理的默认值 — 最少配置即可开箱即用
- 与框架无关 — 核心 SDK 不依赖任何框架;绑定单独添加
快速入门清单
- 分析范围:新建 SDK,还是从现有应用中提取
- 设计公共 API 接口(导出内容、类型、配置)
- 实现带有类型化方法和错误处理的客户端
- 配置 ESM/CJS/类型构建(推荐使用 tsup)
- 编写测试(单元测试 + 集成测试)和示例
- 配置合适的 package.json exports 字段并发布到 npm
不适用场景
- 用于调用外部 API — 请参阅 api-integration skill
- 仅用于发布到 npm — 本技能涵盖完整的 SDK 生命周期
参考资料
| 参考资料 | 描述 |
|---|---|
| extraction-scope-and-boundaries.md | 确定范围、分析依赖项、定义边界 |
| extraction-usages-and-planning.md | 查找用法、测试覆盖率、分阶段提取计划 |
| package-structure-and-clients.md | SDK 布局、客户端设计模式(单体、模块化、工厂) |
| configuration-and-api-design.md | 配置接口、默认值、barrel 导出、方法签名 |
| internal-architecture-and-best-practices.md | HTTP 客户端、状态管理、摇树优化、环境无关 |
| type-design.md | 严格类型、品牌类型、泛型、可辨识联合类型 |
| error-handling-and-async.md | 错误类层级、重试逻辑、请求队列、令牌管理 |
| events-storage-and-logging.md | 事件发射器、存储抽象、日志记录器接口 |
| build-tools-and-output.md | tsup 配置、输出格式、package.json exports、TypeScript 配置 |
| bundle-optimization-and-distribution.md | 包体积、多平台构建、双包、monorepo |
| publishing-and-registries.md | npm 发布、私有注册表、版本管理、变更日志 |
| ci-cd-and-documentation.md | GitHub Actions、文档、发布前检查清单、弃用 |
评论
支持 Markdown