
【免费下载链接】App-Store-Connect-CLIFast, scriptable CLI for the App Store Connect API. Automate TestFlight, builds, submissions, signing, analytics, screenshots, subscriptions, and more项目地址https://gitcode.com/gh_mirrors/ap/App-Store-Connect-CLI点击查看免费下载本篇技术指南系统讲解 App-Store-Connect-CLI 仓库的贡献规范重点覆盖面向 AI Agent 协作的 Git 工作流、提交前质量门禁、仓库内 Agent Skills 的组织方式、CLI 命令与 API 端点的扩展流程以及基于语义化版本的发布检查清单。读完本文你将掌握在该仓库中安全提交改动、新增命令与端点、执行发布预检的完整可操作流程并能理解这些规范背后的源码级实现依据。文档定位三层协作规范体系App-Store-Connect-CLI 的协作规范分散在三份核心文档中各有明确分工根目录 CONTRIBUTING.md面向人类贡献者的开发环境搭建、集成测试、PR 指南与问题标签体系根目录 AGENTS.md常驻的 AI Agent 行为契约权限边界、CLI 契约、开发工作流、实现不变量始终随仓库加载本文档 docs/CONTRIBUTING.md聚焦「AI Agent 在本仓库写代码」的具体模式包括 Git 工作流、提交前检查、仓库 Agent Skills、CLI 结构与发布流程。三者的关系是AGENTS.md定义「任何时候都不能违反的仓库不变量」docs/CONTRIBUTING.md定义「具体做一件事时的标准流程」根CONTRIBUTING.md定义「面向外部贡献者的入口级说明」。文档还明确要求任务相关的维护者工作流应放进.agents/skills/skill-name/而不是把任务级操作步骤塞进常驻的AGENTS.md。Git 工作流规范分支与提交纪律从main拉分支一个分支只承载一个逻辑变更保持提交小而连贯禁止在共享分支上提交 WIPWork In Progress提交除非被明确指示否则不直接向main提交优先走 PR并行任务优先使用git worktree add创建隔离工作树用完用git worktree remove清理——这与 AGENTS.md 中「主检出区被污染或另有工作进行时使用隔离 worktree」的要求一致禁止强推force-push、rebase、squash 或任何形式改写共享历史除非用户明确要求合并时默认使用普通 merge commit 保留 PR 的增量提交提交信息使用简洁、现在时态present-tense的措辞与仓库既有风格保持一致绝不提交密钥或本地配置文件私钥、.env、.asc/config.json。分支更新与合并的边界条件文档对「何时把main合入特性分支」给出了严格限制仅仅因为main前进了不应 rebase 或 merge只有在 GitHub 实际报告合并冲突、或一次明确授权的合并尝试在严格 up-to-date 分支保护下被拒绝时才更新分支且永远不能通过管理员合并绕过分支保护。这与 AGENTS.md 的 GitHub 护栏完全对应干净的 PR 不应为了刷新 base 而更新分支。提交前检查清单对于实质性的行为变更提交前必须依次运行make build # 构建 CLI 二进制 make format # 格式化代码 make lint # 检查问题 make check-docs # 校验仓库文档、网站文档与命令文档保持同步 ASC_BYPASS_KEYCHAIN1 make test # 在无钥匙串提示的环境下跑全部测试 git diff # 提交前审查改动这些目标在 Makefile 中都有明确实现make test目标内部强制设置ASC_BYPASS_KEYCHAIN1再执行go test -v ./...Makefile防止测试过程中触发宿主钥匙串弹窗与 profile 串扰make check-docs是组合目标Makefile串联了check-command-docs、check-repo-docs、check-website-docs、check-agent-skills、check-openapi五类校验make lint优先使用 golangci-lint未安装时回退到go vet ./...Makefilemake format依次执行go fmt ./...与gofumpt -w .依赖 gofumpt可通过make tools安装Makefile。按变更范围选择检查力度对于窄范围的文档或 skill 变更只需运行make check-docs它已包含仓库与 skill 校验器如果唯一暂存变更是docs/wall-of-apps.json本地钩子会跳过完整 Go 流水线只运行make check-wall-of-apps该目标在 Makefile 中实现为对internal/cli/apps包内TestCommunityWallSourceFileIsCanonical测试的定向执行用于验证 Wall of Apps 源文件是规范格式合法 JSON、字段完整。集成测试可选开启集成测试会真实请求 App Store Connect API默认跳过。需要时通过环境变量注入凭据后运行make test-integrationMakefile 用-tagsintegration限定在internal/asc包内执行export ASC_KEY_IDYOUR_KEY_ID export ASC_ISSUER_IDYOUR_ISSUER_ID export ASC_PRIVATE_KEY_PATH/path/to/AuthKey.p8 export ASC_APP_IDYOUR_APP_ID make test-integration无头环境无法交互输入钥匙串口令可改用ASC_PRIVATE_KEY_B64BASE64_KEY在运行时把密钥写入临时文件。凭据优先存入系统钥匙串回退到~/.asc/config.json受限权限也支持仓库本地./.asc/config.json——无论哪种方式都不得提交密钥。仓库 Agent Skills 规范常驻的仓库不变量保存在 AGENTS.md任务级维护者工作流放在.agents/skills/skill-name/下。当前仓库已包含 7 个这样的技能目录例如.agents/skills/develop-asc-change/SKILL.md设计、实现并验证命令、flag、端点、bug 修复与行为变更.agents/skills/audit-asc-pr/SKILL.md审计完整 PR.agents/skills/triage-asc-issue/SKILL.md复现、分类、打标签并界定 issue 范围.agents/skills/release-asc-cli/SKILL.md端到端发布 CLI 仓库。每个 skill 目录必须包含一个SKILL.md其 frontmatter只允许name和description两个字段并配套.agents/skills/的 UI 元数据如agents/openai.yaml。触发描述要具体通过渐进式披露progressive disclosure链接详细参考而不是把长文档全部内联。以 .agents/skills/develop-asc-change/SKILL.md 为例其description明确声明了适用场景新增或修改命令、flag、API 端点、输出格式、退出码、共享 CLI 行为、修复或重构并引导先读references/test-matrix.md确定适用的 CLI、输出、工件与鉴权测试用例。验证这些 skill 是否合规运行make check-agent-skillsmake check-docs已包含该校验Makefile 显示其由 Python 脚本test_check_agent_skills.py与check_agent_skills.py驱动。CLI 代码结构仓库的 CLI 采用「按领域分包 中央注册表」的架构命令实现位于internal/cli/domain包内每个领域暴露一个顶层工厂函数XCommand() *ffcli.Commandcmd/目录只存放根入口点相关文件如cmd/root.go、cmd/run.go、cmd/exit_codes.go等禁止添加包装文件顶层命令在 internal/cli/registry/registry.go 中注册注册顺序即显示顺序共享 CLI 辅助逻辑集中在internal/cli/shared例如shared_wrappers.go、DefaultUsageFunc、超时辅助ContextWithTimeout等。从 internal/cli/registry/registry.go 可以看到注册表通过commandFactory(name, shortHelp, newCommand)以惰性工厂方式登记全部 80 顶层命令——Catalog提供MetadataCommands()不物化工厂用于轻量展示、CommandsFor(name)只物化指定命令和All()供 search、docs 等需要完整命令树的调用方使用。这种设计使asc --help之类只读场景不必实例化所有命令同时保证命令树构建顺序稳定。新增一个命令五步流程在internal/cli/domain新增或扩展领域包实现命令工厂例如XCommand() *ffcli.Command并按 AGENTS.md 的要求在命令组与子命令上设置UsageFunc: shared.DefaultUsageFunc在 internal/cli/registry/registry.go 中注册注意注册顺序决定展示顺序在领域包内编写测试根级测试用internal/cli/cmdtest用使用示例更新根目录 README.md。新增一个 API 端点六步流程在internal/asc/client.go增加调用方法为请求/响应结构体新增类型新增表格/ Markdown 输出的辅助函数仓库遵循「写 stdout、错误与诊断写 stderr」的输出契约在internal/cli/domain创建命令以暴露该端点用模拟响应编写 HTTP 客户端测试httptest如果端点测试重复度高可将请求装配用例分组但必须保留至少一个代表性的非空解码断言以及至少一个代表性的输出结构断言当格式化面向用户时。这条流程与 internal/asc/client.go 及大量client_http_*_test.go测试文件的既有模式完全一致HTTP 客户端层用httptest模拟响应输出层单独校验。发布流程发布使用纯语义化版本号打 tag例如0.1.0不带v前缀。Release notes 在 tag 推送时由已合并 PR 自动生成。预发布检查清单打 tag 前必须逐项验证# 1. 更新面向发布的文档 # - 更新受发布影响的网站页面 # - release notes 会在 tag 推送时从合并的 PR 自动生成 # 2. 验证文档 make check-docs # 3. 全部测试通过 ASC_BYPASS_KEYCHAIN1 make test # 4. 审计所有父命令的 help 输出 for cmd in auth analytics finance apps app-tags testflight builds versions \ feedback crashes localizations \ build-localizations sandbox submit xcode-cloud reviews; do echo $cmd ./asc $cmd --help 21 done # 5. 检查重复段落每个命令应只出现一次 SUBCOMMANDS # 6. 验证粗体格式渲染正确常见问题检查点禁止重复的 Subcommands: 段落不要在LongHelp中手动列出子命令DefaultUsageFunc会负责生成所有 flag 必须有描述示例必须保持最新。如果命令 help 发生变化还需先运行make generate-command-docs并把生成的 docs/COMMANDS.md 一并提交再执行上述检查。Parity map与 fastlane/ASC 的能力对齐边界文档末尾指向 docs/PARITY.md。该文件维护了与 fastlane / App Store Connect 的剩余对齐区域清单与**有意的非目标intentional non-goals**列表例如端到端创建 App 并关联开发者门户服务是有意不做的单命令流程应组合asc web apps create与asc web bundle-idsAndroid 工具链、Fastfile 插件运行时、额外聊天通知连接器、文档生成器等均列入非目标。每个区域的状态明确标注为「命令已覆盖」「issue 跟踪中」或「有意非目标」三者之一且明确要求不要把这些内容复制进AGENTS.md。贡献者在扩展命令面之前应先查阅此文件确认目标能力是否已被列为非目标。小结Agent 在仓库中的最小合规路径综合 docs/CONTRIBUTING.md、AGENTS.md 与根 CONTRIBUTING.md一个 AI Agent 在该仓库完成贡献的合规路径可以浓缩为分支隔离从main拉分支或建 worktree一个分支一个逻辑变更按范围选择门禁行为变更跑make build、make format、make lint、make check-docs、ASC_BYPASS_KEYCHAIN1 make test窄范围文档/skill 变更只跑make check-docs仅 Wall of Apps 变更跑make check-wall-of-apps结构合规命令进internal/cli/domain在 internal/cli/registry/registry.go 注册不在cmd/加包装文件测试合规领域包内写测试HTTP 层用httptest模拟响应保留代表性解码与输出断言发布合规纯 semver tag无v前缀按预发布清单逐项审计 help 输出与文档同步永不越界不提交密钥不绕过分支保护不重写共享历史不用管理员合并绕过 CI。这套规范的价值在于把「Agent 行为边界」与「可机械验证的门禁」分离前者写入常驻的AGENTS.md后者落到 Makefile 与 Python 校验脚本中使每次变更都能被低成本、确定性地验证。赞分享【免费下载链接】App-Store-Connect-CLIFast, scriptable CLI for the App Store Connect API. Automate TestFlight, builds, submissions, signing, analytics, screenshots, subscriptions, and more项目地址https://gitcode.com/gh_mirrors/ap/App-Store-Connect-CLI点击查看免费下载相关推荐InstallerX Revived 代码贡献全指南面向 AI 编码 Agent 的仓库协作规范与构建流程InstallerX Revived 代码贡献全指南面向 AI 编码 Agent 的仓库协作规范与构建流程 InstallerX Revived 是一个社区维原生移动Kubebuilder 仓库 AI Agent 开发协作指南源码结构、插件架构与贡献工作流Kubebuilder 仓库 AI Agent 开发协作指南源码结构、插件架构与贡献工作流 本文是 kubebuilder 仓库根目录 AGENTS.md h开发者工具代码生成CLI云原生后端Security-101 AI Agent 协作指南面向自动化贡献者的仓库结构与开发工作流全解析Security 101 AI Agent 协作指南面向自动化贡献者的仓库结构与开发工作流全解析 Security 101 是一个由 Microsoft 发起网络安全教程文档上一篇【亲测免费】 MMDVM开源项目指南及常见问题解答下一篇9种场景全覆盖iOS日期选择器WSDatePickerView完全指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考