Agent Skills by ALSEL
Anthropic Claudeソフトウェア開発⭐ リポ 0品質スコア 50/100

msstore-cli

Microsoft StoreへのWindowsアプリ公開を支援するMicrosoft Store Developer CLI(msstore)ツールです。Storeの認証情報設定、アプリ一覧の取得、申請ステータスの確認、パッケージフライトの管理、Partner CenterとのCI/CD連携などを求められた際に使用します。Windows App SDK/WinUI、UWP、.NET MAUI、Flutter、Electron、React Native、PWAアプリに対応しています。

description の原文を見る

Microsoft Store Developer CLI (msstore) for publishing Windows applications to the Microsoft Store. Use when asked to configure Store credentials, list Store apps, check submission status, publish submissions, manage package flights, set up CI/CD for Store publishing, or integrate with Partner Center. Supports Windows App SDK/WinUI, UWP, .NET MAUI, Flutter, Electron, React Native, and PWA applications.

SKILL.md 本文

Microsoft Store Developer CLI (msstore)

Microsoft Store Developer CLI (msstore) は、Microsoft Store でアプリケーションを公開および管理するためのクロスプラットフォーム対応のコマンドラインインターフェースです。Partner Center API と統合され、様々なアプリケーションタイプの自動公開ワークフローに対応しています。

このスキルを使用する場合

以下が必要な場合にこのスキルを使用してください:

  • Store 認証情報を API アクセス用に設定する
  • Store アカウント内のアプリケーションを一覧表示する
  • 申請のステータスを確認する
  • Store に申請を公開する
  • Store 申請用にアプリケーションをパッケージする
  • Store 公開用にプロジェクトを初期化する
  • パッケージフライト (ベータテスト) を管理する
  • Store 公開の自動化用に CI/CD パイプラインを設定する
  • 申請の段階的ロールアウトを管理する
  • 申請メタデータをプログラムで更新する

前提条件

  • Windows 10+、macOS、または Linux
  • .NET 9 Desktop Runtime (Windows) または .NET 9 Runtime (macOS/Linux)
  • 適切な権限を持つ Partner Center アカウント
  • Partner Center API アクセスを持つ Azure AD アプリ登録
  • msstore CLI がインストール済み (以下のいずれかの方法で):

Partner Center 設定

msstore を使用する前に、Partner Center アクセスを持つ Azure AD アプリケーションを作成する必要があります:

  1. Partner Center に移動
  2. アカウント設定 > ユーザー管理 > Azure AD アプリケーション に移動
  3. 新しいアプリケーションを作成し、テナント IDクライアント IDクライアント シークレット をメモする
  4. アプリケーションに適切な権限を付与 (マネージャーまたは開発者ロール)

コマンドリファレンス

info - 設定情報の表示

現在の認証情報設定を表示します。

msstore info

オプション:

オプション説明
-v, --verbose詳細出力を表示

reconfigure - 認証情報を設定

Microsoft Store API 認証情報を設定または更新します。

msstore reconfigure [options]

オプション:

オプション説明
-t, --tenantIdAzure AD テナント ID
-s, --sellerIdPartner Center 販売者 ID
-c, --clientIdAzure AD アプリケーション クライアント ID
-cs, --clientSecret認証用のクライアント シークレット
-ct, --certificateThumbprint証明書のサムプリント (クライアント シークレットの代替)
-cfp, --certificateFilePath証明書ファイルパス (クライアント シークレットの代替)
-cp, --certificatePassword証明書のパスワード
--reset完全な再設定なしで認証情報をリセット

例:

# クライアント シークレットで設定
msstore reconfigure --tenantId $TENANT_ID --sellerId $SELLER_ID --clientId $CLIENT_ID --clientSecret $CLIENT_SECRET

# 証明書で設定
msstore reconfigure --tenantId $TENANT_ID --sellerId $SELLER_ID --clientId $CLIENT_ID --certificateFilePath ./cert.pfx --certificatePassword MyPassword

settings - CLI 設定

Microsoft Store Developer CLI の設定を変更します。

msstore settings [options]

オプション:

オプション説明
-t, --enableTelemetryテレメトリを有効 (true) または無効 (false) にする

発行者表示名を設定

msstore settings setpdn <publisherDisplayName>

init コマンドのデフォルト発行者表示名を設定します。

apps - アプリケーション管理

アプリケーション情報をリストおよび取得します。

アプリケーションをリスト表示

msstore apps list

Partner Center アカウント内のすべてのアプリケーションをリストします。

アプリケーションの詳細を取得

msstore apps get <productId>

引数:

引数説明
productIdStore 製品 ID (例: 9NBLGGH4R315)

例:

# 特定のアプリの詳細を取得
msstore apps get 9NBLGGH4R315

submission - 申請管理

Store 申請を管理します。

サブコマンド説明
status申請ステータスを取得
get申請メタデータおよびパッケージ情報を取得
getListingAssets申請の登録資産を取得
updateMetadata申請メタデータを更新
poll申請ステータスが完了するまでポーリング
publish申請を公開
delete申請を削除

申請ステータスを取得

msstore submission status <productId>

申請の詳細を取得

msstore submission get <productId>

メタデータを更新

msstore submission updateMetadata <productId> <metadata>

<metadata> は更新されたメタデータを含む JSON 文字列です。JSON にはシェルが解釈する文字 (引用符、波括弧など) が含まれているため、値を適切にクォートおよび/またはエスケープする必要があります:

  • Bash/Zsh: JSON を単一引用符で囲み、シェルが文字通り渡すようにします。
    msstore submission updateMetadata 9NBLGGH4R315 '{"description":"My updated app"}'
    
  • PowerShell: 単一引用符を使用 (またはダブルクォート内の内側のダブルクォートをエスケープ)。
    msstore submission updateMetadata 9NBLGGH4R315 '{"description":"My updated app"}'
    
  • cmd.exe: 各内側のダブルクォートをバックスラッシュでエスケープします。
    msstore submission updateMetadata 9NBLGGH4R315 "{\"description\":\"My updated app\"}"
    

ヒント: 複雑なまたは複数行のメタデータの場合、JSON をファイルに保存し、クォートの問題を回避するためにその内容を渡します:

msstore submission updateMetadata 9NBLGGH4R315 "$(cat metadata.json)"

オプション:

オプション説明
-s, --skipInitialPolling初期ステータスポーリングをスキップ

申請を公開

msstore submission publish <productId>

申請をポーリング

msstore submission poll <productId>

申請ステータスが PUBLISHED または FAILED になるまでポーリングします。

申請を削除

msstore submission delete <productId>

オプション:

オプション説明
--no-confirm確認プロンプトをスキップ

init - Store 用にプロジェクトを初期化

Microsoft Store 公開用にプロジェクトを初期化します。プロジェクトタイプを自動的に検出し、Store ID を設定します。

msstore init <pathOrUrl> [options]

引数:

引数説明
pathOrUrlプロジェクトディレクトリパスまたは PWA URL

オプション:

オプション説明
-n, --publisherDisplayName発行者表示名
--packageプロジェクトもパッケージする
--publishパッケージして公開 (--package を指定した場合と同じ)
-f, --flightId特定のフライトに公開
-prp, --packageRolloutPercentage段階的ロールアウトのパーセンテージ (0-100)
-a, --archアーキテクチャ: x86、x64、arm64
-o, --outputパッケージの出力ディレクトリ
-ver, --versionビルド時に使用するバージョン

サポートされているプロジェクトタイプ:

  • Windows App SDK / WinUI 3
  • UWP
  • .NET MAUI
  • Flutter
  • Electron
  • React Native for Desktop
  • PWA (Progressive Web Apps)

例:

# WinUI プロジェクトを初期化
msstore init ./my-winui-app

# PWA を初期化
msstore init https://contoso.com --output ./pwa-package

# 初期化して公開
msstore init ./my-app --publish

package - Store 用にパッケージ

Microsoft Store 申請用にアプリケーションをパッケージします。

msstore package <pathOrUrl> [options]

引数:

引数説明
pathOrUrlプロジェクトディレクトリパスまたは PWA URL

オプション:

オプション説明
-o, --outputパッケージの出力ディレクトリ
-a, --archアーキテクチャ: x86、x64、arm64
-ver, --versionパッケージのバージョン

例:

# デフォルトアーキテクチャでパッケージ
msstore package ./my-app

# 複数のアーキテクチャでパッケージ
msstore package ./my-app --arch x64,arm64 --output ./packages

# 特定のバージョンでパッケージ
msstore package ./my-app --version 1.2.3.0

publish - Store に公開

Microsoft Store にアプリケーションを公開します。

msstore publish <pathOrUrl> [options]

引数:

引数説明
pathOrUrlプロジェクトディレクトリパスまたは PWA URL

オプション:

オプション説明
-i, --inputFile既存の .msix または .msixupload ファイルのパス
-id, --appIdアプリケーション ID (初期化されていない場合)
-nc, --noCommit申請を下書き状態に保つ
-f, --flightId特定のフライトに公開
-prp, --packageRolloutPercentage段階的ロールアウトのパーセンテージ (0-100)

例:

# プロジェクトを公開
msstore publish ./my-app

# 既存のパッケージを公開
msstore publish ./my-app --inputFile ./packages/MyApp.msixupload

# 下書きとして公開
msstore publish ./my-app --noCommit

# 段階的ロールアウトで公開
msstore publish ./my-app --packageRolloutPercentage 10

flights - パッケージフライト管理

パッケージフライト (ベータテストグループ) を管理します。

サブコマンド説明
listアプリのすべてのフライトをリスト
getフライトの詳細を取得
deleteフライトを削除
create新しいフライトを作成
submissionフライト申請を管理

フライトをリスト表示

msstore flights list <productId>

フライトの詳細を取得

msstore flights get <productId> <flightId>

フライトを作成

msstore flights create <productId> <friendlyName> --group-ids <group-ids>

オプション:

オプション説明
-g, --group-idsフライトグループ ID (カンマ区切り)
-r, --rank-higher-thanその上にランク付けするフライト ID

フライトを削除

msstore flights delete <productId> <flightId>

フライト申請

# フライト申請を取得
msstore flights submission get <productId> <flightId>

# フライト申請を公開
msstore flights submission publish <productId> <flightId>

# フライト申請ステータスを確認
msstore flights submission status <productId> <flightId>

# フライト申請をポーリング
msstore flights submission poll <productId> <flightId>

# フライト申請を削除
msstore flights submission delete <productId> <flightId>

フライトロールアウト管理

# ロールアウトステータスを取得
msstore flights submission rollout get <productId> <flightId>

# ロールアウトパーセンテージを更新
msstore flights submission rollout update <productId> <flightId> <percentage>

# ロールアウトを停止
msstore flights submission rollout halt <productId> <flightId>

# ロールアウトを完了 (100%)
msstore flights submission rollout finalize <productId> <flightId>

一般的なワークフロー

ワークフロー 1: 初回 Store セットアップ

# 1. CLI をインストール
winget install "Microsoft Store Developer CLI"

# 2. 認証情報を設定 (Partner Center から取得)
msstore reconfigure --tenantId $TENANT_ID --sellerId $SELLER_ID --clientId $CLIENT_ID --clientSecret $CLIENT_SECRET

# 3. 設定を確認
msstore info

# 4. アプリをリスト表示してアクセスを確認
msstore apps list

ワークフロー 2: 新しいアプリを初期化して公開

# 1. プロジェクトに移動
cd my-winui-app

# 2. Store 用に初期化 (アプリ ID を作成/更新)
msstore init .

# 3. アプリケーションをパッケージ
msstore package . --arch x64,arm64

# 4. Store に公開
msstore publish .

# 5. 申請ステータスを確認
msstore submission status <productId>

ワークフロー 3: 既存のアプリを更新

# 1. 更新されたアプリケーションをビルド
dotnet publish -c Release

# 2. パッケージして公開
msstore publish ./my-app

# または既存のパッケージから公開
msstore publish ./my-app --inputFile ./artifacts/MyApp.msixupload

ワークフロー 4: 段階的ロールアウト

# 1. 初期ロールアウトパーセンテージで公開
msstore publish ./my-app --packageRolloutPercentage 10

# 2. 監視してロールアウトを増加
msstore submission poll <productId>

# 3. (検証後) 100% に完了
# これは Partner Center または申請更新を通じて完了

ワークフロー 5: フライトを使用したベータテスト

# 1. Partner Center でまずフライトグループを作成
# その後、フライトを作成
msstore flights create <productId> "Beta Testers" --group-ids "group-id-1,group-id-2"

# 2. フライトに公開
msstore publish ./my-app --flightId <flightId>

# 3. フライト申請ステータスを確認
msstore flights submission status <productId> <flightId>

# 4. テスト後、本番に公開
msstore publish ./my-app

ワークフロー 6: CI/CD パイプライン統合

# GitHub Actions の例
name: Publish to Store

on:
  release:
    types: [published]

jobs:
  publish:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: Setup .NET
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: '9.0.x'
      
      - name: Install msstore CLI
        run: winget install "Microsoft Store Developer CLI" --accept-package-agreements --accept-source-agreements
      
      - name: Configure Store credentials
        run: |
          msstore reconfigure --tenantId ${{ secrets.TENANT_ID }} --sellerId ${{ secrets.SELLER_ID }} --clientId ${{ secrets.CLIENT_ID }} --clientSecret ${{ secrets.CLIENT_SECRET }}
      
      - name: Build application
        run: dotnet publish -c Release
      
      - name: Publish to Store
        run: msstore publish ./src/MyApp

winapp CLI との統合

winapp CLI (v0.2.0+) は winapp store サブコマンドを通じて msstore と統合されます:

# これらのコマンドは等価です:
msstore reconfigure --tenantId xxx --clientId xxx --clientSecret xxx
winapp store reconfigure --tenantId xxx --clientId xxx --clientSecret xxx

# アプリをリスト表示
msstore apps list
winapp store apps list

# 公開
msstore publish ./my-app
winapp store publish ./my-app

パッケージングと公開の両方に統一 CLI エクスペリエンスが必要な場合は winapp store を使用してください。

トラブルシューティング

問題解決策
認証に失敗msstore info で認証情報を確認; msstore reconfigure を再実行
アプリが見つからない製品 ID が正しいことを確認; msstore apps list で確認
権限が不足Partner Center での Azure AD アプリロールを確認 (マネージャーまたは開発者が必要)
パッケージ検証に失敗パッケージが Store 要件を満たすことを確認; Partner Center で詳細を確認
申請が停止msstore submission poll <productId> を実行してステータスを確認
フライトが見つからないmsstore flights list <productId> でフライト ID を確認
ロールアウトパーセンテージが無効値は 0 から 100 の間である必要があります
PWA の Init に失敗URL がパブリックアクセス可能で有効な Web アプリマニフェストを持つことを確認

環境変数

CLI は認証情報に対して環境変数をサポートしています:

変数説明
MSSTORE_TENANT_IDAzure AD テナント ID
MSSTORE_SELLER_IDPartner Center 販売者 ID
MSSTORE_CLIENT_IDAzure AD アプリケーション クライアント ID
MSSTORE_CLIENT_SECRETクライアント シークレット

参考資料

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
github
リポジトリ
github/awesome-copilot
ライセンス
MIT
最終更新
不明

Source: https://github.com/github/awesome-copilot / ライセンス: MIT

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: github · github/awesome-copilot · ライセンス: MIT