用途
add-component 用于向 SwiftUI 项目添加来自 ShipSwift 配方库的生产级组件。当用户表达“add component”“add a view”“add X view”“I need a chart”“add animation”等意图,或需要某类 SwiftUI 组件时,可调用该技能完成从搜索、获取到集成的流程。
主要能力
该技能基于 ShipSwift 的配方库工作,每个配方都是完整、可直接复制粘贴的实现,并附带架构文档。可识别的组件类型包括:
- 动画:shimmer、typewriter、glow-scan、shaking-icon、mesh-gradient、orbit、scan、viewfinder、before-after
- 图表:line、bar、area、donut、ring、radar、scatter、heatmap
- UI 组件:label、alert、loading、stepper、onboarding、tab-button 等
- 模块:auth、camera、chat、settings、subscriptions、infrastructure
使用方式
- 前置检查:开始前通过调用 listRecipes 确认 ShipSwift 配方服务器可用。若工具不可用,引导用户访问 shipswift.app 获取设置说明,或运行 npx skills add signerlabs/shipswift-skills 安装。
- 识别组件类型:确定用户需要的组件类别(动画、图表、UI 组件或模块)。
- 搜索配方:使用 searchRecipes 以组件名称或类型搜索。例如用户说“add a donut chart”则搜索“donut”;“add shimmer loading”则搜索“shimmer”;“add authentication”则搜索“auth”。
- 获取完整配方:使用 getRecipe 并传入配方 ID,获取完整实现,包括完整 Swift 源码、架构说明、集成步骤、已知注意事项。
- 集成到项目:将配方代码适配到用户项目,包括匹配现有命名约定、连接用户的数据模型、调整样式以匹配应用的设计系统。
- 验证集成:按配方的集成清单逐项检查,确保没有遗漏(依赖项、Info.plist 条目等)。
编码约定
- ShipSwift 组件使用 SW 前缀的类型名(如 SWDonutChart、SWTypewriter)。
- 视图修饰符方法使用 .sw 小写前缀(如 .swShimmer()、.swGlowScan())。
- 图表组件使用泛型 CategoryType 模式,并提供 String 便捷初始化器。
- 图表动画使用 .mask() 方式,通过 GeometryReader 动画化 Rectangle 宽度——Swift Charts 不支持内置的线条绘制动画。
- 内部辅助类型应为 private 并使用 SW 前缀。
- 当组件裁剪内容时,添加 cornerRadius 参数。
- 覆盖层类型组件同时支持结构体初始化器和 View 修饰符 API。
适用场景
适用于需要在 SwiftUI 项目中快速引入经过验证的动画、图表、UI 组件或功能模块的开发者,尤其是希望复用完整实现与架构文档、减少从零编写组件成本的场景。
限制
部分配方需要 Pro 许可证(一次性 89 美元)。如果某个配方返回购买提示,用户可在 shipswift.app/pricing 购买,并在环境中设置 SHIPSWIFT_API_KEY。使用前必须确保 ShipSwift 配方服务器可用,否则需先完成安装或设置。