mcpField
G
generators

generators

github.com/rshankras开发838496 次安装14 周前更新
代码仓库

关于 generators

面向 iOS 和 macOS 开发者的代码生成技能集合,可根据项目结构生成常见应用组件的 Swift 实现,涵盖基础设施、界面与测试等领域。

主要功能

  1. 01检测项目结构与代码模式
  2. 02识别平台和 Swift 版本
  3. 03生成可切换提供方的协议设计
  4. 04生成应用基础设施代码
  5. 05生成界面与用户参与功能
  6. 06生成测试和交付配置

适用场景

  1. 01添加结构化日志或分析功能
  2. 02搭建身份验证或数据持久化
  3. 03生成引导、设置或付费墙界面
  4. 04准备测试与 CI/CD 工作流

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rshankras/claude-code-apple-skills --skill generators

安装后在 Claude Code 中输入/generators确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

accessibility-generator/
accessibility-patterns.md
account-deletion/
templates.md
analytics-setup/
analytics-patterns.md
analytics-setup/templates/
AnalyticsEvent.swift
AnalyticsService.swift
AnalyticsServiceKey.swift
analytics-setup/templates/Providers/
FirebaseAnalytics.swift
NoOpAnalytics.swift
TelemetryDeckAnalytics.swift
announcement-banner/
templates.md
app-clip/
patterns.md
templates.md
app-extensions/
templates.md
app-icon-generator/
apple-hig-icons.md
app-icon-generator/templates/
generate-icon-template.swift
app-store-assets/
specs-reference.md
auth-flow/
auth-patterns.md
auth-flow/templates/
AuthenticationManager.swift
BiometricAuthManager.swift
KeychainManager.swift
SignInWithAppleButton.swift
SignInWithAppleManager.swift
background-processing/
templates.md
ci-cd-setup/
ci-cd-patterns.md
ci-cd-setup/templates/fastlane/
Appfile
Fastfile
Matchfile
ci-cd-setup/templates/github-actions/
build-test.yml
deploy-appstore.yml
deploy-testflight.yml

详细介绍

代码生成器

适用于 iOS 和 macOS 应用的生产就绪代码生成器。与提供建议的技能(审查、审计)不同,这些技能会生成适用于你项目的可运行代码。

此技能的触发时机

在用户出现以下需求时使用此技能:

  • 想要添加常见的应用组件(日志记录、分析、引导等)
  • 要求“设置”或“添加”基础设施代码
  • 提到要用适当的日志记录替换 print()
  • 想要添加 App Store 评分提示
  • 需要设置分析或崩溃报告

核心原则

1. 基于上下文生成

生成代码前,技能会:

  • 读取现有项目结构和模式
  • 检测部署目标和 Swift 版本
  • 识别架构模式(MVVM、TCA 等)
  • 检查是否已有实现,以避免冲突
2. 基于协议的架构

依赖提供方的代码使用协议,方便切换:

protocol AnalyticsService { ... }
class TelemetryDeckAnalytics: AnalyticsService { ... }
class FirebaseAnalytics: AnalyticsService { ... }
// Change provider by swapping ONE line
3. 平台检测

技能会检测 iOS 与 macOS,以及 App Store 与直接分发,以生成适当的代码。

可用的生成器

根据用户需求,读取相关模块文件:

logging-setup/

将 print() 语句替换为结构化的 os.log/Logger。

  • 审计现有的 print() 用法
  • 生成 AppLogger 基础设施
  • 将 print 迁移到 Logger,并设置适当的隐私级别
analytics-setup/

基于协议的分析功能,支持切换提供方。

  • 支持 TelemetryDeck、Firebase、Mixpanel
  • 提供用于测试/隐私保护的 NoOp 实现
  • 轻松切换提供方
onboarding-generator/

以价值时刻为先的引导流程——让新用户尽快体验到应用所承诺的成果。

  • 根据“立即准备就绪”或“稍后”分支,每个屏幕只做一个决定
  • 采用根视图替换式呈现、优先按阶段进行门控,并提供可安全恢复、可衔接现有功能的交接
  • 为“稍后”分支提供本地通知的实施计划
  • 对价值时刻的达成率进行埋点(仅限本地,无需分析 SDK)
  • 将经典的分页/分步欢迎轮播作为明确的备用方案,供先解释再引导的应用使用
review-prompt/

智能 App Store 评分提示。

  • 平台检测(跳过非 App Store 分发的 macOS 应用)
  • 可配置的触发条件
  • 智能时机逻辑
  • 用于测试的调试覆盖选项
networking-layer/

基于协议并使用 async/await 的 API 客户端。

  • 简洁的 APIClient 协议,便于模拟和切换
  • 类型安全的端点定义
  • 完善的错误处理
  • 基于环境的配置
auth-flow/

完整的身份验证流程。

  • 集成 Sign in with Apple
  • 生物识别身份验证(Face ID/Touch ID)
  • 使用 Keychain 安全存储
  • 凭证状态监控
paywall-generator/

基于 StoreKit 2 的订阅付费墙。

  • 完整的 StoreKit 2 实现
  • 加载、购买和恢复产品
  • 使用 Environment 管理订阅状态
  • 精美的付费墙 UI
settings-screen/

包含模块化分区的完整设置界面。

  • 使用 @AppStorage 集中管理 AppSettings
  • 外观、通知、账户、关于和法律分区
  • 跨平台(iOS/macOS)
  • 可复用的行组件
persistence-setup/

支持可选 iCloud 同步的 SwiftData 持久化。

  • SwiftData 容器配置
  • 便于测试的仓库模式
  • 可选的 CloudKit/iCloud 同步
  • 同步状态监控
  • 迁移支持
error-monitoring/

基于协议的崩溃/错误报告。

  • 支持 Sentry 和 Firebase Crashlytics
  • 提供用于测试/隐私保护的 NoOp 实现
  • 提供用于调试上下文的面包屑
  • 用户上下文(已匿名化)
  • 轻松切换提供方
ci-cd-setup/

用于自动构建和部署的 CI/CD 配置。

  • GitHub Actions 工作流(构建、测试、TestFlight、App Store)
  • Xcode Cloud 脚本和设置指南
  • 用于高级自动化的 fastlane lanes
  • 代码签名和密钥管理
  • 支持 macOS 公证
localization-setup/

适用于多语言应用的国际化(i18n)基础设施。

  • 字符串目录(iOS 16+,推荐)
  • 类型安全的 L10n 枚举,提供编译时安全性
  • 复数形式和插值模式
  • RTL 布局支持
  • 用于测试不同语言环境的 SwiftUI 预览辅助工具
push-notifications/

包含 APNs 配置的推送通知基础设施。

  • 注册和授权流程
  • UNUserNotificationCenterDelegate 实现
  • 带操作按钮的通知类别
  • 类型安全的负载解析
  • 富通知和静默通知
deep-linking/

通过 URL 方案、通用链接和 App Intents 实现深度链接。

  • 自定义 URL 方案处理
  • 使用 AASA 文件的通用链接
  • 用于 Siri 和 Shortcuts 的 App Intents
  • 类型安全的路由定义和导航
  • 支持 Spotlight 索引
test-generator/

用于单元测试、集成测试和 UI 测试的模板。

  • Swift Testing(现代方案,iOS 16+)和 XCTest 模式
  • Mock 对象生成
  • ViewModel 和服务测试模式
  • 使用页面对象模式进行 UI 测试
preview-data-generator/

用于 SwiftUI 视图的示例数据和多变体 #Preview 矩阵。

  • 带有视觉边缘情况(空、长字符串、缺失、列表)的画布示例数据
  • 用于 UI 原型设计的数据状态预览(已加载/空/加载中/错误)
  • 外观、动态字体、语言环境/RTL 和设备变体矩阵
  • SwiftData 内存预置容器;iOS 18 PreviewModifier + @Previewable
  • 复用 test-data-factory 固定数据,而不是重复创建
accessibility-generator/

面向包容性应用的无障碍基础设施。

  • VoiceOver 标签、提示和特征
  • 支持动态字体缩放
  • 处理减少动态效果设置
  • 无障碍审核清单
widget-generator/

用于主屏幕和锁定屏幕的 WidgetKit 小组件。

  • 静态和交互式小组件(iOS 17+)
  • 时间线提供程序
  • 锁定屏幕复杂功能
  • 用于配置的小组件意图
app-icon-generator/

使用 CoreGraphics 以编程方式生成应用图标。

  • 符合 Apple HIG 的图标设计
  • 按类别定制的设计方案(效率、媒体、开发工具等)
  • 生成 3 种变体供用户选择
  • 自动调整为所有所需尺寸(macOS + iOS)
  • 使用正确的 Contents.json 安装到资源目录
  • 无外部依赖——纯 CoreGraphics
feature-flags/

支持本地和远程功能标记的基础设施。

  • 基于协议的服务,可切换提供程序
  • 本地默认值,支持远程覆盖(组合提供程序)
  • 用于 SwiftUI 集成的 @Observable 管理器
  • 用于切换标记的调试菜单
live-activity-generator/

带有灵动岛和锁定屏幕的 ActivityKit 实时活动。

  • ActivityAttributes 和 ContentState 定义
  • 灵动岛布局(紧凑和展开)
  • 锁定屏幕展示
  • 支持通过 APNs 推送更新
  • 活动生命周期管理(开始、更新、结束)
tipkit-generator/

包含规则和测试功能的 TipKit 内嵌提示和弹出提示。

  • 内嵌和弹出提示定义
  • 基于规则的显示逻辑(参数规则和事件规则)
  • 显示频率和失效处理
  • 测试和预览支持
cloudkit-sync/

基于 CKSyncEngine 的 CloudKit 同步(iOS 17+)。

  • CKSyncEngine 配置和代理
  • 记录区管理
  • 冲突解决策略
  • 支持共享与协作
http-cache/

包含 Cache-Control、ETag 和离线回退机制的 HTTP 缓存层。

  • Cache-Control 标头解析
  • ETag/Last-Modified 条件请求(304)
  • stale-while-revalidate 模式
  • 包装现有 APIClient 的装饰器模式
  • 用于离线回退的网络可达性检测
pagination/

采用偏移量和游标模式的分页基础设施。

  • 基于偏移量和基于游标的响应模型
  • 状态机(空闲、加载中、已加载、错误、已耗尽)
  • 带预取阈值的 @Observable PaginationManager
  • 带防抖查询的可搜索分页
  • 无限滚动、加载更多按钮和状态视图
image-loading/

带缓存的图像加载管线和 CachedAsyncImage 视图。

  • 使用 NSCache 实现内存缓存并自动淘汰
  • 带过期机制的 LRU 磁盘缓存
  • 基于 Actor 的下载器,可去重请求
  • 使用 ImageIO 生成缩略图
  • 可直接替换 SwiftUI 中 CachedAsyncImage 的组件
  • 集合视图预加载
share-card/

用于社交媒体分享的可分享图像卡片。

  • ShareCardContent 协议,支持成就、统计数据和引言类型
  • 基于 ImageRenderer 生成卡片
  • 可配置样式(简约、品牌、统计数据)
  • 集成 ShareLink 和二维码叠加层
social-export/

按正确格式将内容导出到社交平台。

  • 针对平台的格式设置(Instagram、TikTok、X)
  • 按平台处理纵横比和分辨率
  • 支持品牌叠加层和说明文字
  • 基于 URL scheme 和分享表单导出
subscription-lifecycle/

使用 StoreKit 2 管理订阅生命周期。

  • 处理宽限期和账单重试
  • 管理挽回优惠和促销优惠
  • 使用 Transaction.updates 监控订阅状态
  • 处理升级和降级路径
  • 用于订阅管理的仪表板 UI
referral-system/

带病毒式增长机制的推荐和邀请系统。

  • 生成唯一代码并防范欺诈
  • 基于深层链接进行分享和兑换
  • 跟踪推荐人和受邀者的奖励
  • 提供推荐统计数据仪表板
watermark-engine/

带付费墙集成的图像水印叠加层。

  • 文字、图像和平铺水印样式
  • 基于 CoreGraphics 渲染并支持 Retina
  • 订阅用户可移除水印
  • SwiftUI 叠加层和 ViewModifier
streak-tracker/

带互动机制的每日/每周连续记录追踪。

  • 基于 SwiftData 记录活动
  • 结合时区计算每日边界
  • 连续记录冻结/保护通行证
  • 日历热力图和徽章视图
  • 连续记录即将中断通知
milestone-celebration/

带彩纸和徽章的成就庆祝效果。

  • 基于 CAEmitterLayer 的彩纸效果,支持减少动态效果
  • 追踪里程碑并检测阈值
  • 带进度环的徽章收藏网格
  • 集成触觉反馈
whats-new/

应用更新后显示的「新功能」屏幕。

  • 使用 UserDefaults 持久化版本追踪
  • 使用分页式 TabView 展示功能亮点
  • 本地和远程内容提供方
  • 版本变更时自动以工作表形式显示
lapsed-user/

检测流失用户并重新吸引他们。

  • 可配置的不活跃阈值(7/14/30 天)
  • 根据流失类别提供个性化回归体验
  • 为流失订阅用户提供挽回优惠屏幕
  • 用于应用启动时自动检测的 ViewModifier
usage-insights/

面向用户的使用统计数据和活动摘要。

  • 使用 SwiftData 记录事件并批量写入
  • 计算洞察信息(连续记录、热门类别、趋势)
  • 集成 Swift Charts 的仪表板
  • 可分享的回顾卡片(Spotify Wrapped 风格)
variable-rewards/

带游戏化机制的可变奖励系统。

  • 带稀有度等级的加权概率奖励池
  • 每日转盘和神秘礼盒动画
  • 设置每日/每周上限,实现符合伦理的互动
  • 奖励历史记录和通知视图
consent-flow/

GDPR/CCPA/DPDP 隐私同意管理。

  • 按类别细分同意选项(分析、营销等)
  • 集成 ATT(App Tracking Transparency)
  • 记录同意审计日志以满足合规要求
  • 提供视觉权重相同的横幅和偏好设置 UI
account-deletion/

符合 Apple 要求的账户删除流程。

  • 多步骤确认并重新认证
  • 删除前导出数据
  • 提供可取消的宽限期
  • 清理 Keychain 并撤销 Sign in with Apple 授权
permission-priming/

提升授权率的权限预引导屏幕。

  • 统一的权限管理器(通知、相机、位置等)
  • 在系统提示前显示侧重说明权限益处的预引导 UI
  • 跟踪权限状态并提供跳转到「设置」的入口
  • 用于受限内容的 ViewModifier
force-update/

通过更新提示强制执行最低版本要求。

  • 通过远程 JSON 和 App Store 查询进行版本检查
  • 硬性拦截(必需)和软性提示(建议)
  • 可配置的检查频率
  • 软性更新的跳过记录
state-restoration/

在应用启动之间保留和恢复状态。

  • 持久化 NavigationPath、标签页选择和滚动位置
  • 支持防抖自动保存的 Codable AppState
  • 带自动保存功能的表单草稿管理器
  • @SceneStorage 和基于文件的存储选项
debug-menu/

开发者调试菜单(仅限 DEBUG 构建)。

  • 功能标志切换和环境切换器
  • 带循环缓冲区的网络请求记录器
  • 清除缓存和导出诊断信息
  • 摇晃手势和隐藏的点击触发方式
offline-queue/

支持自动重试的离线操作队列。

  • 基于 Actor 的队列管理器,支持 FIFO 和优先级
  • 对排队操作进行基于文件的持久化
  • 带抖动的指数退避重试策略
  • 通过 NWPathMonitor 检测网络连接
  • 离线状态横幅 ViewModifier
feedback-form/

通过智能路由收集应用内反馈。

  • 按类别收集反馈(错误、功能建议、赞扬)
  • 截图捕获和标注
  • 情绪路由(满意 → App Store,不满意 → 支持)
  • 通过电子邮件和 webhook 提交
announcement-banner/

通过远程配置显示应用内公告横幅。

  • 基于优先级显示横幅(信息、警告、促销)
  • 本地和远程公告提供方
  • 处理深度链接和 URL 操作
  • 按日期范围安排显示
quick-win-session/

引导用户完成首次操作,快速实现价值。

  • 分步任务引导
  • 带圆形镂空区域的聚光提示叠层
  • 显示完成庆祝效果和计时统计
  • 用于检测新用户的 ViewModifier
spotlight-indexing/

通过 Core Spotlight 索引,与系统搜索集成。

  • 适用于任何模型的 SpotlightIndexable 协议
  • 基于 Actor 的批量索引管理器
  • 流畅的属性构建器 API
  • 搜索延续和 Siri 建议
app-clip/

支持调用和升级流程的 App Clip 目标。

  • 调用 URL 解析和路由
  • 提供具体实现的 Experience 协议
  • 确认实体调用的地理位置
  • 通过 SKOverlay 提示升级到完整应用
  • App Group 数据共享
screenshot-automation/

自动生成 App Store 截图。

  • 基于 XCUITest 的屏幕捕获和导航
  • 使用 CoreText 绘制本地化说明文字叠层
  • 合成设备边框
  • 批量导出多种语言和设备的截图
background-processing/

基于 BGTaskScheduler 的后台任务基础设施。

  • 配置 BGAppRefreshTask 和 BGProcessingTask
  • 用于下载和上传的后台 URLSession
  • 处理静默推送通知
  • 节能的调度策略
app-extensions/

支持 Share、Action、Keyboard 和 Safari 的应用扩展目标。

  • 处理内容的 Share Extension
  • 用于就地操作内容的 Action Extension
  • 基于 UIInputViewController 的 Keyboard Extension
  • 带消息处理器的 Safari Web Extension
  • 在应用和扩展之间共享 App Group 数据
data-export/

支持 JSON、CSV 和 PDF 的数据导出/导入基础设施。

  • 基于协议的多格式导出(DataExportable)
  • 符合 RFC 4180 标准的 CSV 生成
  • 使用 UIGraphicsPDFRenderer 生成 PDF 报告
  • 基于 UTType 解析文件导入内容
  • 符合 GDPR 第 20 条的数据可携带性要求

使用方法

  1. 用户请求一个组件(例如,“为我的应用添加日志记录”)
  2. 阅读相关技能的 SKILL.md
  3. 运行生成前检查(冲突、部署目标等)
  4. 通过 AskUserQuestion 提出配置问题
  5. 根据模板生成代码,并适配项目上下文
  6. 提供集成说明

输出格式

生成后,始终提供:

  • 创建的文件(含完整路径)
  • 集成步骤(如何接入现有代码)
  • 所需功能(权限、依赖项)
  • 测试说明(如何验证其正常工作)

评论

支持 Markdown