pwa-builder/PWABuilder

The simplest way to create progressive web apps across platforms and devices. Start here. This repo is home to several projects in the PWABuilder family of tools.

TypeScript

3,789

5,621 commits

updated Oct 12, 2026

See the code

README

PWABuilder

The simplest way to create progressive web apps across platforms and devices.

This repo is home to several projects in the PWABuilder family of tools.

Tools

ToolsOverviewSourceDocsContribute
PWABuilder.comThe best way to package PWAs for various stores./apps/pwabuilderPWABuilder docsWiki
PWA StudioPWA Studio makes VSCode the BEST developer environment for building Progressive Web Apps./apps/pwabuilder-vscodePWA Studio docsWiki
PWA StarterOur opinionated and production tested progressive web app (PWA) template for creating new projects.RepoPWA Starter docsWiki

Docs

Components

ComponentsOverviewSourceDocsContribute
<pwa-install>

npm version
Web component for great PWA install experiencepwa-installpwa-installWiki

You will need the following things properly installed on your computer.

You should also be familiar with TypeScript which we use for this project. This helps give you more guidance as you code from intellisense when using VSCode.

We recommend the following tools for your dev setup:

Additionally, when you open the project in VS Code, you'll be prompted to install recommended extensions.

Development

Set the NODE_BIN environment variable, .vscode/launch.json for VS code and apps\pwabuilder\Properties\launchSettings.json for Visual Studio:

  • Windows: C:/Program Files/nodejs/node.exe
  • Mac: /usr/local/bin/node
  • Linux: /usr/bin/node

Using VS Code (App and API)

  • Run VSCode Run and Debug (F5 key) to build the project and start a local Edge browser.
  • Closing the Edge browser will terminate the debug session.

Using Visual Studio (API only)

  • Open the solution and run the https profile (F5 key)

Alternatively, build the Dockerfile.production container and access it from http://localhost:8080

Deployment

The web app preview and Google Play staging workflows publish uniquely tagged images containing the commit SHA, workflow run ID, and run attempt. Each workflow deploys the digest captured from its pushed image, not a mutable :production or :latest tag. This prevents a subsequent preview build from changing the image a deployed slot pulls on restart or scale-out.

Promote the tested image by swapping slots or deploying its exact digest. Existing production slots using mutable tags must be pinned separately to their verified known-good digests; changing these workflows does not update live slots. Retain images referenced by deployed slots and images needed for rollback. Breaking web app and Google Play API changes still require coordinated releases.

License

All files on the PWABuilder repository are subject to the MIT license. Please read the License file at the root of the project.


This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

android
app-store
manifest
meta-quest
microsoft-store
oculus-quest
play-store
progressive-web-app
pwa
pwabuilder
pwa-mainfest
pwa-service-worker
pwa-starter
pwa-starter-kit
pwastudio
pwa-vscode
service-worker
vscode
web-application
windows

pwa-builder/PWABuilder

The simplest way to create progressive web apps across platforms and devices. Start here. This repo is home to several projects in the PWABuilder family of tools.

TypeScript

3,789

5,621 commits

updated Oct 12, 2026

See the code

README

PWABuilder

The simplest way to create progressive web apps across platforms and devices.

This repo is home to several projects in the PWABuilder family of tools.

Tools

ToolsOverviewSourceDocsContribute
PWABuilder.comThe best way to package PWAs for various stores./apps/pwabuilderPWABuilder docsWiki
PWA StudioPWA Studio makes VSCode the BEST developer environment for building Progressive Web Apps./apps/pwabuilder-vscodePWA Studio docsWiki
PWA StarterOur opinionated and production tested progressive web app (PWA) template for creating new projects.RepoPWA Starter docsWiki

Docs

Components

ComponentsOverviewSourceDocsContribute
<pwa-install>

npm version
Web component for great PWA install experiencepwa-installpwa-installWiki

You will need the following things properly installed on your computer.

You should also be familiar with TypeScript which we use for this project. This helps give you more guidance as you code from intellisense when using VSCode.

We recommend the following tools for your dev setup:

Additionally, when you open the project in VS Code, you'll be prompted to install recommended extensions.

Development

Set the NODE_BIN environment variable, .vscode/launch.json for VS code and apps\pwabuilder\Properties\launchSettings.json for Visual Studio:

  • Windows: C:/Program Files/nodejs/node.exe
  • Mac: /usr/local/bin/node
  • Linux: /usr/bin/node

Using VS Code (App and API)

  • Run VSCode Run and Debug (F5 key) to build the project and start a local Edge browser.
  • Closing the Edge browser will terminate the debug session.

Using Visual Studio (API only)

  • Open the solution and run the https profile (F5 key)

Alternatively, build the Dockerfile.production container and access it from http://localhost:8080

Deployment

The web app preview and Google Play staging workflows publish uniquely tagged images containing the commit SHA, workflow run ID, and run attempt. Each workflow deploys the digest captured from its pushed image, not a mutable :production or :latest tag. This prevents a subsequent preview build from changing the image a deployed slot pulls on restart or scale-out.

Promote the tested image by swapping slots or deploying its exact digest. Existing production slots using mutable tags must be pinned separately to their verified known-good digests; changing these workflows does not update live slots. Retain images referenced by deployed slots and images needed for rollback. Breaking web app and Google Play API changes still require coordinated releases.

License

All files on the PWABuilder repository are subject to the MIT license. Please read the License file at the root of the project.


This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

android
app-store
manifest
meta-quest
microsoft-store
oculus-quest
play-store
progressive-web-app
pwa
pwabuilder
pwa-mainfest
pwa-service-worker
pwa-starter
pwa-starter-kit
pwastudio
pwa-vscode
service-worker
vscode
web-application
windows

Project health

Overall

6.2/10

Maintained

10/10

Code review

10/10
OpenSSF Scorecard

Significant stargazers

(top 24 of 32)

Joaquín Sánchez

568 followers · starred Oct 2021

Wojciech Maj

3,571 followers · starred Nov 2024

唯然

445 followers · starred Jun 2023

Artem Zakharchenko

2,229 followers · starred Mar 2026