Build & Publish
Package your extension into a Chrome Web Store-ready ZIP from the Build tab.
Set the version
Open the Build tab. The current manifest version is displayed. Click the version number or a bump shortcut (patch, minor, major) to open the version modal.


Package the ZIP
Click Package extension. The build produces a ZIP in your project's dist/ folder. Build diagnostics show:
- Total bundle size — keep it under Chrome Web Store limits.
- Largest generated files — see which surfaces or chunks dominate the bundle.
- Output file count — how many files were produced.
Protected builds
If a build fails, ChromeShip automatically restores the last working build from a .dist.chromeship-backup folder. Your extension never breaks during development — you can always revert.
Build process
During build, ChromeShip:
- Injects production environment values into the bundle.
- Removes
chrome_url_overridesfrom the dev manifest (so your new tab isn't hijacked during development — it is restored in production builds). - Strips localhost host permissions and adds the Supabase production URL if configured.
- Validates permissions against Chrome Web Store policies.
Dev build overlay
During development, a small badge appears in the managed Chromium window: green with "Compiling" during builds, red with "Build error" if a build fails. Click the error badge to see the full build error without switching to the Studio.
Chrome Web Store checklist
- Set a meaningful version number.
- Review permissions — keep them minimal.
- Verify icons (16, 32, 48, and 128 pixels).
- Test the ZIP by loading it as an unpacked extension in Chrome.
- Confirm production environment values are set for every required variable.
- Upload to the Chrome Web Store Developer Dashboard.
