winapp-clipar github

CLI for Windows app packaging, MSIX creation, certificates, and Microsoft Store deployment across frameworks. Initializes projects with SDK setup, manifests, and development certificates; supports .NET, C++, Electron, Rust, Tauri, and cross-platform frameworks Creates MSIX packages with optional signing, self-contained runtime bundling, and external catalog management Adds temporary package identity to executables for debugging Windows APIs (notifications, Windows AI, shell integration)...

npx skills add https://github.com/github/awesome-copilot --skill winapp-cli

Windows App Development CLI

winapp manages Windows SDKs, MSIX packaging, app identity, manifests, certificates, signing, store publishing, and UI automation for any framework targeting Windows (.NET/csproj, C++, Electron, Rust, Tauri, Flutter, etc.). Public preview — subject to change.

Prerequisites

  • Windows 10 or later
  • Install via one of:
    • WinGet: winget install Microsoft.WinAppCli --source winget
    • npm (Electron/Node): npm install @microsoft/winappcli --save-dev
    • CI: setup-WinAppCli GitHub Action
    • Manual: GitHub Releases

Commands

CommandPurpose
initInitialize project: SDKs (stable/preview/experimental/none), manifest, winapp.yaml. .csproj projects skip winapp.yaml and use NuGet directly. Does not auto-generate a cert (v0.2.0+).
restore / updateRestore or update SDK package versions (--setup-sdks preview for preview SDKs).
pack <dir>Build MSIX. Flags: --generate-cert, --cert <pfx> --cert-password, --self-contained (bundles WinAppSDK runtime), --output. Auto-discovers third-party WinRT components from .winmd (v0.2.1+).
run <dir> [-- <app args>]Pack as loose layout and launch as packaged app — ideal for IDE F5 debugging without producing an MSIX. Supports -- arg passthrough (v0.3.1+). (v0.3.0+)
create-debug-identity <exe>Add sparse package identity to an exe so it can call identity-gated APIs (notifications, Windows AI, shell integration) without full packaging.
unregisterRemove sideloaded dev packages registered by run / create-debug-identity.
manifestGenerate AppxManifest.xml; supports placeholders and qualified names. manifest update-assets <image> generates all required icon sizes from one source (PNG or SVG, v0.2.1+).
cert generate / install / infoManage dev certs. cert info <pfx> --password <pwd> shows subject/issuer/validity. --export-cer exports the public key. --json available on generate and info. (v0.2.1+)
sign <target> --cert <pfx>Sign MSIX or exe; optional timestamp server.
toolRun Windows SDK build tools with paths configured.
storeRun Microsoft Store Developer CLI for store submission/validation/publishing.
create-external-catalogGenerate CodeIntegrityExternal.cat for TrustedLaunch sparse packages.
ui list-windows / inspect / click / search / wait-for / get-focusedUI automation via Microsoft UI Automation. All support --json. JSON envelopes for inspect, get-focused, search, and wait-for changed in v0.3.1 — see references/ui-json-envelope.md (other ui subcommands keep their pre-0.3.1 output). (v0.3.0+)
node create-addon / add-electron-debug-identity / clear-electron-debug-identityElectron/Node helpers. All commands also exposed as typed JS/TS functions from @microsoft/winappcli (v0.2.1+).

CI tip: pass --no-prompt to skip interactive prompts.

Workflow

Standard init → package flow:

  1. Initialize the project in your app folder. Sets up SDK refs, manifest, and winapp.yaml (.csproj projects skip the YAML and configure NuGet directly).

    winapp init        # add --no-prompt in CI
    
  2. Generate a dev signing certificate — required for sideloading. init no longer creates one for non-.csproj projects (v0.2.0+). Pin the output path so later steps can reference it.

    winapp cert generate --publisher "CN=My Company" --output ./mycert.pfx --install
    
  3. Build your app with the framework's own toolchain (dotnet build, npm run build, cargo build, etc.).

  4. Package as MSIX, signing with the cert from step 2.

    winapp pack ./build-output --cert ./mycert.pfx --cert-password password --output MyApp.msix
    
  5. (Optional) Re-sign with a production cert before distribution.

    winapp sign MyApp.msix --cert ./prod.pfx --cert-password $env:CERT_PWD
    
  6. (Optional) Submit to the Microsoft Store with winapp store … (wraps the Store Developer CLI).

Alternate flows

  • Debug identity-gated APIs without packaging (notifications, Windows AI, shell):

    winapp create-debug-identity ./bin/MyApp.exe
    ./bin/MyApp.exe
    
  • Run as packaged app for IDE F5 (loose layout; app args after --):

    winapp run ./bin/Debug/net10.0-windows10.0.26100.0/win-x64 \
      --manifest ./appxmanifest.xml -- --my-flag value
    
  • Electron:

    npx winapp init
    npx winapp node add-electron-debug-identity
    npx winapp pack ./out --output MyElectronApp.msix
    

Gotchas

  • winapp ui --json envelope reshaped in v0.3.1ui inspect, ui get-focused, ui search, and ui wait-for use new shapes; per-element id / parentSelector / windowHandle are removed (use selector). Full schemas in references/ui-json-envelope.md.
  • winapp init no longer auto-generates a certificate (v0.2.0+) — run winapp cert generate explicitly. The old --no-cert flag was removed.
  • .csproj projects skip winapp.yaml — SDK packages live in the project file. Hybrid setups need adjustment.
  • NuGet global cache, not %userprofile%/.winapp/packages (v0.2.0+) — scripts depending on the old folder will break.
  • Re-run create-debug-identity after any manifest change — identity is bound at registration time.

Troubleshooting

IssueFix
Certificate not trustedwinapp cert install <pfx> to add to local machine store
Identity-gated API failsRe-run create-debug-identity after manifest changes
SDK not foundwinapp restore or winapp update
run / create-debug-identity registration error 0x800704ECDeveloper Mode is off — enable it in Settings → Privacy & security → For developers (or Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock' -Name AllowDevelopmentWithoutDevLicense -Value 1), then retry
run / create-debug-identity registration error 0x80073CFBPackage already registered with a conflicting identity — run winapp unregister (or winapp unregister --force if registered from a different project tree), then retry

References

Plus de skills de github

console-rendering
by github
Instructions for using the struct tag-based console rendering system in Go
acquire-codebase-knowledge
by github
Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts like "map this codebase", "document…
acreadiness-assess
by github
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc…
acreadiness-generate-instructions
by github
Generate tailored AI agent instruction files via AgentRC instructions command. Produces .github/copilot-instructions.md (default, recommended for Copilot in VS…
acreadiness-policy
by github
Help the user pick, write, or apply an AgentRC policy. Policies customise readiness scoring by disabling irrelevant checks, overriding impact/level, setting…
add-educational-comments
by github
Add educational comments to code files to transform them into effective learning resources. Adapts explanation depth and tone to three configurable knowledge levels: beginner, intermediate, and advanced Automatically requests a file if none is provided, with numbered list matching for quick selection Expands files by up to 125% using educational comments only (hard limit: 400 new lines; 300 for files over 1,000 lines) Preserves file encoding, indentation style, syntax correctness, and...
adobe-illustrator-scripting
by github
Write, debug, and optimize Adobe Illustrator automation scripts using ExtendScript (JavaScript/JSX). Use when creating or modifying scripts that manipulate…
agent-governance
by github
Declarative policies, intent classification, and audit trails for controlling AI agent tool access and behavior. Composable governance policies define allowed/blocked tools, content filters, rate limits, and approval requirements — stored as configuration, not code Semantic intent classification detects dangerous prompts (data exfiltration, privilege escalation, prompt injection) before tool execution using pattern-based signals Tool-level governance decorator enforces policies at function...

NotebookLM Web Importer

Importez des pages web et des vidéos YouTube dans NotebookLM en un clic. Utilisé par plus de 200 000 utilisateurs.

Installer l'extension Chrome