mcpField
B
build-dmg

build-dmg

github.com/ulpi-io开发5135 次安装9 周前更新
代码仓库

关于 build-dmg

一个通过随附脚本将 Xcode 项目或工作区构建为 DMG 的技能。它引导开发者明确构建与签名参数,并报告生成文件或具体阻碍。

主要功能

  1. 01检测项目、工作区和方案
  2. 02检查签名与导出参数
  3. 03运行随附的构建脚本
  4. 04报告 DMG 路径和构建状态

适用场景

  1. 01将 macOS 应用打包为 DMG
  2. 02构建前确认含糊的 Xcode 方案
  3. 03定位签名或导出阻碍

安装

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

$npx skills add https://github.com/ulpi-io/skills --skill build-dmg

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

附带文件helpers/build-dmg.sh

详细介绍

此技能会运行 `xcodebuild archive` + `exportArchive`,并将结果打包成 DMG。它会涉及代码签名、配置文件和导出选项。

不可妥协的规则:

  1. 在构建前检测项目/工作区、方案和团队 ID——绝不猜测签名身份。
  2. 如果存在多个方案,请询问用户要构建哪一个。
  3. 未经明确批准,不要自动创建或覆盖 ExportOptions.plist——错误的导出选项会生成未签名或分发类型错误的构建。
  4. 从项目根目录使用辅助脚本(helpers/build-dmg.sh)。不要将 xcodebuild 命令内联。
  5. 如果检测到 xcodegen(存在 project.yml),请在构建前运行 xcodegen generate。
  6. 清楚地报告生成的 DMG 路径、应用版本和签名状态。

build-dmg

输入

  • $request:可选的项目、工作区、方案或签名提示

目标

生成 DMG 构建,具体包括:

  • 确定正确的 Xcode 目标输入
  • 从项目根目录运行随附的辅助脚本
  • 报告生成的 DMG 路径和任何打包阻碍

步骤 0:检测打包输入

读取仓库并确定:

  • 应用名称
  • 方案
  • 项目或工作区路径
  • ExportOptions.plist 的位置(如果存在)
  • VERSION 文件(如果存在)
  • project.yml 是否表明使用了 xcodegen
  • 已存在的团队 ID 或签名提示

如果必需输入存在歧义,请在构建前询问。

成功标准:运行辅助脚本前,构建配置已明确。

步骤 1:确认辅助脚本和工作目录

辅助脚本位于此技能所在目录旁:

  • helpers/build-dmg.sh

从项目根目录运行它,以便将当前仓库用作构建上下文。

成功标准:已确定正确的辅助脚本路径和项目根目录。

步骤 2:使用明确的环境变量进行构建

提供所需的环境变量,例如:

  • APP_NAME
  • SCHEME

仅在项目确实需要时添加可选变量:

  • PROJECT
  • WORKSPACE
  • INFO_PLIST
  • EXPORT_OPTIONS
  • TEAM_ID
  • VERSION_FILE
  • USE_XCODEGEN
  • DMG_BACKGROUND

成功标准:辅助脚本具备所有必需输入,且只包含所需的可选输入。

步骤 3:妥善处理成功或失败

成功时,报告:

  • DMG 输出路径
  • 应用版本和构建号(如果可用)
  • VERSION 文件是否发生更改

失败时:

  • 概述实际错误
  • 展示相关的 xcodebuild 或导出失败行
  • 判断阻碍属于签名、方案选择、导出选项还是构建失败

成功标准:用户能获得可用的构建产物路径,或清晰的阻碍说明。

防护要求

  • 不要主动运行此技能。
  • 不要假定使用 .claude 本地辅助脚本路径;请使用此技能目录中的辅助脚本。
  • 未经批准,不要自动创建或覆盖导出选项。
  • 不要用笼统的“构建失败”概述掩盖签名失败。

输出约定

报告:

  1. 已确定的应用/项目/工作区/方案输入
  2. 辅助脚本是否成功运行
  3. 成功时的 DMG 路径
  4. 版本/构建信息(如果可用)
  5. 失败时的确切阻碍类别

评论

支持 Markdown