PWA is a “universal, framework-agnostic PWA builder” developed by Luke Edwards (lukeed) that aims to let developers scaffold progressive web apps with minimal friction across different view frameworks or libraries. Unlike many CLI tools that target a specific framework (React, Vue, Svelte), this project intentionally tries to remain agnostic, supporting presets for Preact, React, Vue, Svelte and even vanilla JS, while offering all the PWA boilerplate you need (service workers, manifest, offline support) right out of the box. The project is designed for speed of setup: you run pwa init, choose your preset, then pwa build or pwa watch and you get a production-ready bundle with PWA features baked in. The README emphasizes that modern bundlers (Webpack, Rollup) and ecosystem maturity finally allow a universal CLI of this kind, whereas earlier attempts weren’t practical.
Features
- CLI scaffolding for new web apps with PWA support via pwa init and pwa build
- Framework-agnostic presets (React, Vue, Svelte, Preact, vanilla) so you’re not locked in
- Built-in support for service workers, web manifest files, offline caching strategy
- Tooling preconfigured: TypeScript, PostCSS, ESLint, Prettier, and bundler config out of the box
- Static pre-rendering/export ability so you can get “pre-rendered HTML” for SEO and static hosting
- Plugin architecture for extending or customizing configuration when required