create-manifestv3-extension
v0.0.1
Published
Interactive CLI to scaffold a Manifest V3 Chrome extension
Maintainers
Readme
Usage
Run it directly with npx — no install needed:
npx create-manifestv3-extension createOr pass the extension name straight away to skip that prompt:
npx create-manifestv3-extension create "My Extension"Use -y to skip all prompts and scaffold instantly with defaults:
npx create-manifestv3-extension create "My Extension" -yWhat it generates
My Extension/
├── manifest.json ← Manifest V3, filled with your name/description/version
├── service-worker.js ← Background service worker boilerplate
├── content.js ← Content script boilerplate
├── icons/ ← Drop your PNGs in here (16, 32, 48, 128px)
└── .github/
└── workflows/
└── release-extension.yml ← Only if you opted inGitHub Actions
If you opt in during setup, a release-extension.yml workflow is added to your extension. On every push to main it will:
- Build a
.zipof your extension - Publish a GitHub release with it attached
Optionally, if you add a CHROME_EXTENSION_PEM_BASE64 secret to your repository, it will also build and attach a signed .crx package. Without the secret the workflow still runs fine and releases the .zip.
To set up .crx signing:
- Generate a
.pemkey for your extension in Chrome (chrome://extensions→ Pack extension) - Base64-encode it:
- Windows:
certutil -encode myextension.pem myextension.b64 - macOS / Linux:
base64 -i myextension.pem
- Windows:
- Add the result as a repository secret named
CHROME_EXTENSION_PEM_BASE64
Loading your extension in Chrome
- Go to
chrome://extensions - Enable Developer mode (top right toggle)
- Click Load unpacked and select your extension folder
License
ISC
