[分享创造] 分享一个开源 Skill:用 AI Agent 自动搭建生产级 macOS App 脚手架

最近写了好几个的开源 macOS app 项目,我估计写过独立 macOS App 的人大概都有同感:把核心功能写出来,其实只完成了一半。剩下那一半基本都是琐事,比如:

  • 写到一半,然后发现使用 XcodeGen 和 project.yml 更好
  • GitHub Actions 怎么跑通签名 + 公证 + DMG + Release
  • 自动更新走 Sparkle 还是自己轮询 GitHub API
  • 开机自启用 SMAppService 的正确姿势
  • 日志、设置窗口、辅助功能权限引导、本地化、Sandbox 开关
  • 国际化多语言支持
  • ……

这些东西每个单独看都不难,但加起来很耗时;交给 AI 自己摸索的话,经常会走很多弯路(比如选了已经废弃的 API 、写出能跑但不能上架的配置)。

所以我把自己几个已上架 App 里反复用到的模式抽出来,做成了一个 AI Agent Skill:macos-app-scaffold 。,丢给 AI ,一次性把这些都给完成,很适合睡前丢给他,早上全搞定了。

它做什么

一句话:新建项目 + 给已有项目按需补功能,全程交互式,不强加任何东西。

项目初始化

  • 菜单栏 / 窗口 / 混合模式三选一
  • XcodeGen 作为唯一配置源
  • SwiftUI 启动代码、.gitignore 、Git 初始化
  • AGENTS.md + CLAUDE.md 软链,方便多 Agent 协作

构建与分发

  • GitHub Actions:构建 → 签名 → 公证 → 打 DMG → 发 Release
  • Universal Binary ( arm64 + x86_64 )
  • 推 v* tag 自动发版
  • 多语言 Release Notes
  • Homebrew Cask 公式

▎ 没有 Apple 开发者账号也能用,会跳过签名/公证那几步,产物是未签名 DMG ,照样能分发。

应用层常见功能

  • 自动更新( GitHub API 轮询 或 Sparkle )
  • 开机自启( SMAppService )
  • 辅助功能权限引导
  • 设置窗口、文件日志、本地化、引导页
  • Aptabase (隐私友好的分析)

工程化

  • SwiftLint 默认规则
  • XCTest 测试 target
  • Sandbox 开关(带上架说明)
  • LICENSE ( MIT / GPL-3.0 / Apache-2.0 )+ 带徽章的

怎么用

兼容 Claude Code 、Cursor 、Codex 、Gemini 等 40+ A

通用安装:

npx skills add XueshiQiao/macos-app-scaffold

仅 Claude Code:

/plugin install github:XueshiQiao/macos-app-scaf

之后三个命令就够用:


/macos-app-scaffold              # 自动判断是新建
/macos-app-scaffold-new MyApp    # 直接新建
/macos-app-scaffold-enhance      # 给已有项目按需 / logging ...)

适合谁

  • 想做独立 macOS App 、不想在工程化琐事上耗一周的
  • 已经有项目,但只补齐了核心功能,CI/CD 、自动更新还没做的
  • 想让 AI 帮自己写 macOS App ,但被 AI 反复走弯路

仓库

GitHub: https://github.com/XueshiQiao/macos-app-scaffold

MIT 协议,欢迎 issue / PR ,也欢迎吐槽哪些地方还