| name | publish-extension |
| description | Publish your Command Palette extension to the Microsoft Store or WinGet. Use when asked to publish, distribute, release, deploy to store, create MSIX packages, submit to WinGet, set up CI/CD for releases, or automate builds with GitHub Actions. |
Publish Your Command Palette Extension
Guide for distributing your Command Palette extension through the Microsoft Store, WinGet, or both.
When to Use This Skill
- Publishing your extension to the Microsoft Store
- Submitting your extension to WinGet for
winget install discovery
- Setting up GitHub Actions to automate builds and releases
- Creating MSIX packages for Store submission
- Creating EXE installers for WinGet submission
Publishing Options
| Channel | Package Format | Discovery | Auto-Updates |
|---|
| Microsoft Store | MSIX bundle | Store app, ms-windows-store:// link | Yes |
| WinGet | EXE installer | winget install, CmdPal browse | Yes (via manifest) |
Recommendation: Publish to both for maximum reach. WinGet enables direct discovery from within Command Palette.
Workflows
Microsoft Store Publishing
See store-publishing.md for the complete step-by-step guide.
Summary:
- Register for Partner Center
- Update
Package.appxmanifest and .csproj with Partner Center identity
- Build MSIX for x64 and ARM64
- Create MSIX bundle
- Submit to Partner Center
WinGet Publishing
See winget-publishing.md for the complete step-by-step guide.
Summary:
- Switch project to unpackaged mode
- Create Inno Setup installer script
- Build EXE installers
- Submit manifest via
wingetcreate new
- Optionally automate with GitHub Actions
Prerequisites
Important Notes
- Your extension's CLSID (the
[Guid("...")] in your main .cs file) must be unique and consistent across all files
- WinGet manifests must include the
windows-commandpalette-extension tag for CmdPal discovery
- MSIX packages require both x64 and ARM64 builds for Store submission
- WindowsAppSdk must be listed as a dependency in WinGet manifests