Skip to main content

submit-app

Submit a pull request for the commerce app registry with automated PR creation via GitHub CLI. Use this skill immediately when the app ZIP is ready and validated, whenever users mention "submit", "submit app", "create pull request", "ready to submit", "submit to registry", or "open PR". This is the FINAL step in the app submission workflow - don't make users ask twice. If they've just packaged or validated an app and seem ready to submit, proactively offer to use this skill. Automates the entire PR process including branch creation, push, and PR template.

来源信息

仓库
SalesforceCommerceCloud/commerce-apps
最近来源活动
2026年6月17日 18:26
检测到的 SKILL.md 语言
英语
星标
12
分支
9

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
2 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
submit-app
description
Submit a pull request for the commerce app registry with automated PR creation via GitHub CLI. Use this skill immediately when the app ZIP is ready and validated, whenever users mention "submit", "submit app", "create pull request", "ready to submit", "submit to registry", or "open PR". This is the FINAL step in the app submission workflow - don't make users ask twice. If they've just packaged or validated an app and seem ready to submit, proactively offer to use this skill. Automates the entire PR process including branch creation, push, and PR template.
# Submit Commerce App Submit a PR for the commerce app registry with automated GitHub CLI integration. > **Cross-tool note:** References to `/skill-name` (e.g., `/validate-app`) are Claude Code invocation syntax. If using another assistant, read and follow the corresponding `.claude/skills/<skill-name>/SKILL.md` file instead. ## Step 0: Check GitHub CLI ```bash which gh && gh auth status --hostname github.com ``` **If authenticated:** Proceed with automated PR creation (Step 6a). **If not:** User can authenticate (`gh auth login --hostname github.com --web`) or create PR manually (Step 6b). ## Step 1: Validate **Run before submitting:** ``` /validate-app ``` Fix all validation failures. ## Step 2: Check git status ```bash git status ``` **Expected:** - Modified: `commerce-apps-manifest/manifest.json` - Added: `<domain>/<appName>/<appName>-v<version>.zip` - Modified: `commerce-apps-manifest/translations/en-US.json` (minimum) - Optional: `<domain>/<appName>/catalog.json` (new apps only) **Don't commit:** - ❌ Extracted directories (`commerce-*-app-v*/`) - ❌ Old ZIP versions - ❌ Junk files ## Step 3: Commit ```bash git add commerce-apps-manifest/manifest.json git add commerce-apps-manifest/translations/en-US.json git add <domain>/<appName>/<appName>-v<version>.zip # For new apps only: git add <domain>/<appName>/catalog.json git commit -m "Add <displayName> v<version>" ``` **Format:** `Add <displayName> v<version>` (new) / `Update <displayName> to v<version>` (update) / `Fix <displayName> v<version> - <description>` (fix) ## Step 4: Create branch ```bash git checkout -b add-<appName>-v<version> ``` **Format:** `add-<appName>-v<version>` (new) / `update-<appName>-v<version>` (update) / `fix-<appName>-v<version>` (fix) ## Step 5: Push ```bash git push origin add-<appName>-v<version> ``` ## Step 6a: Automated PR (gh CLI authenticated) ```bash CURRENT_BRANCH=$(git branch --show-current) gh pr create \ --title "Add <displayName> v<version>" \ --body "## Commerce App Submission **App Name:** <appName> **Display Name:** <displayName> **Domain:** <domain> **Version:** <version> ## Changes - [ ] New app submission - [ ] Version update (previous: v<oldVersion>) - [ ] Bug fix or patch ## Files Modified - \`commerce-apps-manifest/manifest.json\` - Updated app entry - \`commerce-apps-manifest/translations/en-US.json\` - App translations - \`<domain>/<appName>/<appName>-v<version>.zip\` - App package - \`<domain>/<appName>/catalog.json\` - New apps only **Note:** Icons extracted automatically by CI from ZIP. ## Description <!-- What this app does or what changed --> ## Checklist - [x] App at \`<domain>/<appName>/\` where \`<appName>\` matches manifest id - [x] ZIP follows format: \`<appName>-v<version>.zip\` - [x] Root manifest has all required fields - [x] SHA256 hash matches ZIP - [x] Icon in ZIP \`icons/\` matches manifest \`iconName\` - [x] Translations in \`commerce-apps-manifest/translations/en-US.json\` - [x] \`catalog.json\` included (new apps only, INIT values) - [x] ZIP has single root: \`commerce-<appName>-app-v<version>/\` - [x] No junk files (.DS_Store, __MACOSX, hidden files) - [x] commerce-app.json version matches manifest - [x] Architecture-specific validations passed - [x] Validated with \`/validate-app\` ## CI Workflows - **verify-zip.yml** - Validates structure, manifest, SHA256 - **update-catalog.yml** - Updates catalog on merge ## Testing <!-- Testing performed --> --- **Submitter's Notes:** <!-- Additional context -->" \ --base main \ --head "$CURRENT_BRANCH" ``` Returns PR URL. Proceed to Step 7. ## Step 6b: Manual PR (no gh CLI) Get URL: ```bash CURRENT_BRANCH=$(git branch --show-current) REPO_URL=$(git remote get-url origin | sed 's/git@github.com:/https:\/\/github.com\//' | sed 's/\.git$//') echo "$REPO_URL/compare/$CURRENT_BRANCH?expand=1" ``` Open URL in browser, use PR template from Step 6a body, customize with app details. ## Step 7: Monitor CI Watch GitHub Actions: 1. **verify-zip.yml** - Validates ZIP, manifest, SHA256 2. **update-catalog.yml** - Updates catalog on merge If CI fails: - Read error messages - Fix locally - Push to same branch (CI re-runs automatically) ## Step 8: Address feedback ```bash git add <changed-files> git commit -m "Address review feedback: <description>" git push origin add-<appName>-v<version> ``` ## Common CI Failures | Error | Fix | |-------|-----| | SHA256 mismatch | Recompute: `shasum -a 256 <zip>`, update manifest | | Invalid manifest | Add missing required fields | | Junk files | Recreate ZIP with exclusions | | Wrong root folder | Recreate ZIP from correct directory | | Version mismatch | Update commerce-app.json to match manifest | ## Final Checklist - [ ] All CI checks passing - [ ] Code review approved - [ ] No merge conflicts - [ ] Ready to merge Once merged, CI updates catalog automatically.
在 GitHub 查看