Extensity-Plus is a Chrome Manifest V3 extension manager focused on fast popup workflows, reusable profiles, URL rules, and a full management dashboard.
It keeps the original Extensity idea simple, but expands it into a more complete daily-use tool:
- popup-first enable/disable flows
- special profiles like
Always On,Base, andFavorites - searchable, sortable extension lists
- profile-based extension sets
- URL-triggered automation
- dashboard tools for history, aliases, groups, rules, and backup
The popup is built for fast toggling, search, sorting, profile badges, and inline per-extension actions.
Profile membership can be edited directly from the popup, including Always On, Base, Favorites, and custom profiles.
The Profiles page is where you shape named extension sets, review profile membership, and manage reserved profiles alongside custom ones.
The Options page controls popup layout, density, sorting defaults, appearance, and behavior-level settings.
The Dashboard brings together history, groups, aliases, import/export, and URL rules with live rule testing.
- Enable or disable extensions from the popup.
- Toggle all extensions off and restore them with one action.
- Undo the last reversible toggle action.
- Search by extension name, alias, or description.
- Sort by A-Z, recent use, or usage frequency.
- Switch between list and grid views.
- Manage profile membership directly from expanded popup rows.
- Show profile badges, special-profile status, and keyboard-friendly controls.
- Save reusable extension sets as profiles.
- Apply profiles from the popup.
- Keep
Always On,Base, andFavoritesas special profile layers. - Rename custom profiles inline.
- Select multiple profiles and bulk delete them.
- Choose the layout used on the Profiles page.
- Cycle profiles with Chrome keyboard shortcuts.
- Manage aliases for installed extensions.
- Create and edit groups.
- Create, test, and edit URL rules.
- Review extension event history.
- Export inventory as CSV.
- Import and export full backup data.
- Save lightweight preferences in
chrome.storage.sync. - Save larger or device-specific data in
chrome.storage.local. - Track history and usage counters.
- Schedule reminder notifications after manual enable flows.
- Apply URL-based enable/disable rules in the background service worker.
- Export and import a versioned backup envelope.
Extensity-Plus uses a background-owned state model:
js/background.jsowns extension enable/disable mutations.- Popup, options, profiles, and dashboard pages communicate through a background message API.
- Undo history, reminders, usage counters, and event history are updated through the same mutation path.
- Larger collections like aliases, groups, rules, and history stay out of sync storage to avoid quota pressure.
Main UI surfaces:
index.html: popupoptions.html: options pageprofiles.html: profile editordashboard.html: management dashboard
Supporting modules:
js/storage.jsjs/migration.jsjs/import-export.jsjs/url-rules.jsjs/history-logger.jsjs/reminders.jsjs/drive-sync.js
Install dependencies:
npm installRun tests:
npm testValidate the manifest:
npm run check:manifestBuild the extension:
make distGenerate the Chrome Web Store submission bundle:
npm run bundle:chrome-storeGenerate the required extension icons from the master PNG source:
npm run generate:iconsArtifacts:
dist/dist.zipartifacts/chrome-web-store/
GitHub Actions release runs upload a private release-assets-vX.Y.Z artifact containing:
<package>-extension-vX.Y.Z.zip<package>-chrome-web-store-upload-vX.Y.Z.zipsubmission-metadata.jsonchecksums.txtsubmission-notes.md
This repository includes .github/workflows/ci.yml, which:
- runs tests
- validates the manifest
- builds the extension
- packages release artifacts
- supports manual semver-bump releases and tag-based releases
Additional project documentation lives in docs/:
docs/extensity-2.0-plan.mddocs/extensity-2.0-status.mddocs/ci-and-release.mddocs/chrome-web-store-checklist.md
The main inspiration for this project is the original sergiokas/Extensity repo and the broader Extensity open-source lineage.
Additional feature direction and UX ideas were informed by:
- This repo is a local evolution of the Extensity concept, not the original upstream release branch.
- Google Drive backup support is still partial because OAuth configuration is not complete.
- If you plan to publish this fork to the Chrome Web Store, review permissions, listing content, privacy disclosures, and OAuth requirements before submission.





