Skip to content

Conversation

@chatasweetie
Copy link
Contributor

@chatasweetie chatasweetie commented Nov 17, 2025

Summary of the Pull Request

This PR adds comprehensive publication tooling to the CmdPal extension template, enabling developers to easily publish their extensions to both Microsoft Store and WinGet for the first time.

Still missing:

  • public dev docs to accompany this change
  • post initial publication github action scripts

PR Checklist

Detailed Description of the Pull Request / Additional comments

A Publication folder created to contain publication scripts from MicrosoftDocs/windows-dev-docs#5698

Microsoft Store Publishing

  • One-time setup script (one-time-store-pubishing-setup.ps1): Automates configuration of Store-specific settings (Package Identity Name, Publisher Certificate, Display Name, etc.)
  • Build automation (build-msix-bundles.ps1): Builds x64 and ARM64 MSIX packages and creates combined .msixbundle files for Store submission
  • Resource folder (microsoft-store-resources/): Contains auto-generated bundle_mapping.txt for bundle creation

WinGet Publishing

  • One-time setup script (one-time-winget-publishing-setup.ps1): Configures extension for WinGet publishing via EXE installer
  • Build script (winget-resources/build-exe.ps1): Builds standalone EXE installer for WinGet distribution
  • Inno Setup template (winget-resources/setup-template.iss): Professional installer template with COM registration
  • GitHub Actions workflow (winget-resources/release-extension.yml): Automated CI/CD for building and releasing installers

Validation Steps Performed

Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check-spelling found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@chatasweetie
Copy link
Contributor Author

Docs update PR: MicrosoftDocs/windows-dev-docs#5738

@chatasweetie chatasweetie changed the title Template publication automation -- still missing public dev docs to accompany this change Template publication automation Nov 19, 2025
@chatasweetie chatasweetie marked this pull request as ready for review November 19, 2025 18:31
@jiripolasek jiripolasek added the Product-Command Palette Refers to the Command Palette utility label Nov 20, 2025
@github-actions
Copy link

@check-spelling-bot Report

🔴 Please review

See the 📂 files view, the 📜action log, or 📝 job summary for details.

Unrecognized words (1)

WASDK

These words are not needed and should be removed CLITo CVS Notavailable toolgood Uninitializes wasdk

To accept these unrecognized words as correct and remove the previously acknowledged and now absent words, you could run the following commands

... in a clone of the git@github.com:microsoft/PowerToys.git repository
on the template-automation branch (ℹ️ how do I use this?):

curl -s -S -L 'https://raw.githubusercontent.com/check-spelling/check-spelling/c635c2f3f714eec2fcf27b643a1919b9a811ef2e/apply.pl' |
perl - 'https://github.com/microsoft/PowerToys/actions/runs/20352210426/attempts/1' &&
git commit -m 'Update check-spelling metadata'
Forbidden patterns 🙅 (1)

In order to address this, you could change the content to not match the forbidden patterns (comments before forbidden patterns may help explain why they're forbidden), add patterns for acceptable instances, or adjust the forbidden patterns themselves.

These forbidden patterns matched content:

Should be GitHub

(?<![&*.]|// |\b(?:from|import|type) )\bGithub\b(?![{()])
Errors ❌ (2)

See the 📂 files view, the 📜action log, or 📝 job summary for details.

❌ Errors Count
❌ check-file-path 1
❌ forbidden-pattern 1

See ❌ Event descriptions for more information.

If the flagged items are 🤯 false positives

If items relate to a ...

  • binary file (or some other file you wouldn't want to check at all).

    Please add a file path to the excludes.txt file matching the containing file.

    File paths are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your files.

    ^ refers to the file's path from the root of the repository, so ^README\.md$ would exclude README.md (on whichever branch you're using).

  • well-formed pattern.

    If you can write a pattern that would match it,
    try adding it to the patterns.txt file.

    Patterns are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your lines.

    Note that patterns can't match multiline strings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Product-Command Palette Refers to the Command Palette utility

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CmdPal: Make new extension template instantly publishable to Store

3 participants