mcpField
A
asc-init

asc-init

github.com/tddworks开发584 次安装5 周前更新
代码仓库

关于 asc-init

这是 asc-cli 的项目上下文初始化命令,将应用标识和可选的审核联系信息保存到 `.asc/project.json`。它供应用开发者和 Agent 跨会话复用项目上下文,避免反复列出应用。

主要功能

  1. 01保存应用 ID 和名称
  2. 02从 Xcode 项目检测上下文
  3. 03按名称搜索应用
  4. 04保存可选审核联系信息
  5. 05提供后续命令入口

适用场景

  1. 01初始化应用项目上下文
  2. 02跨会话复用应用标识
  3. 03准备审核联系信息

安装

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

$npx skills add https://github.com/tddworks/asc-cli-skills --skill asc-init

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

详细介绍

asc init — 项目上下文初始化

将 App ID、名称、Bundle ID 以及可选的审核联系人信息保存到当前目录下的 .asc/project.json。后续命令和 Agent 会读取此文件,而不是在每个会话中都调用 asc apps list。

命令

init — 固定项目上下文
# Direct (no API list call)
asc init --app-id <id> [--pretty]

# By name (case-insensitive search)
asc init --name "My App" [--pretty]

# Auto-detect from *.xcodeproj/project.pbxproj in cwd
asc init [--pretty]

# With review contact info
asc init --app-id <id> \
  --contact-first-name "Jane" \
  --contact-last-name "Smith" \
  --contact-email "[email protected]" \
  --contact-phone "+1-555-0100" \
  [--pretty]

优先级:--app-id > --name > 自动检测。联系人标志为可选项,可与任意检测模式组合使用。

保存的内容

./.asc/project.json(未设置的联系人字段将被省略):

{
  "appId":    "1234567890",
  "appName":  "My App",
  "bundleId": "com.example.myapp",
  "contactEmail": "[email protected]",
  "contactFirstName": "Jane",
  "contactLastName": "Smith",
  "contactPhone": "+1-555-0100"
}

JSON 输出

保存联系人信息时,输出会包含联系人字段和 updateReviewContact 操作入口。未保存联系人信息时,则会显示 setReviewContact 操作入口。

{
  "data": [
    {
      "affordances": {
        "checkReadiness": "asc versions check-readiness --version-id <id>",
        "listAppInfos":   "asc app-infos list --app-id 1234567890",
        "listBuilds":     "asc builds list --app-id 1234567890",
        "listVersions":   "asc versions list --app-id 1234567890",
        "updateReviewContact": "asc init --app-id 1234567890 --contact-email ... --contact-phone ..."
      },
      "appId":    "1234567890",
      "appName":  "My App",
      "bundleId": "com.example.myapp",
      "contactEmail": "[email protected]",
      "contactFirstName": "Jane",
      "contactLastName": "Smith",
      "contactPhone": "+1-555-0100"
    }
  ]
}

典型工作流

# 1. Run once per project directory
cd /path/to/MyApp
asc init --pretty

# 2. In subsequent sessions, read the saved context
APP_ID=$(jq -r '.appId' .asc/project.json)

# 3. Use normally — no need for asc apps list
asc versions list --app-id "$APP_ID"
asc builds list   --app-id "$APP_ID"

自动检测逻辑

未提供任何标志时,asc init 会扫描当前目录中的 *.xcodeproj/project.pbxproj 文件,并提取 PRODUCT_BUNDLE_IDENTIFIER 值。随后,它会将这些 Bundle ID 与你的 App Store Connect 应用进行匹配。

变量引用(如 $(PRODUCT_BUNDLE_IDENTIFIER))会被跳过,只匹配字面值。

错误情况

情况错误
提供了 --name,但没有匹配的应用No app named '…'. Run asc apps list to see available apps.
自动检测:未找到 .xcodeprojNo Xcode project found. Use --app-id or --name.
自动检测:Bundle ID 与任何 ASC 应用都不匹配No ASC app matched bundle IDs: com.example.app

另请参阅

  • 完整功能文档:docs/features/init.md
  • 根据输出中的操作入口列出版本、构建或应用信息,无需知道 App ID

评论

支持 Markdown