A clipboard/gallery manager for AI prompts. Save reusable prompts once and inject
them into Claude, ChatGPT, Gemini, or any text field — from a browser extension
or the web app. No backend: prompts live in your own Google Drive
(vault.json, drive.file scope); the app just reads/writes it.
🌐 Live: https://tech-sumit.github.io/promptvault
System-aware dark / light — the same UI in the extension and the web app:
| Dark | Light |
|---|---|
![]() |
![]() |
| Path | What |
|---|---|
packages/core |
Framework-agnostic data model + Google Drive client + last-write-wins/tombstone sync engine. Injected AuthProvider + LocalCache adapters. Vitest. |
apps/extension |
Manifest V3 extension (vanilla JS, esbuild → dist/). chrome.identity auth, chrome.storage cache, context-menu + popup injection, dashboard, onboarding. |
apps/web |
Svelte + Vite static site: marketing landing at / + portal at /app. Google Identity Services auth, IndexedDB cache. Deployed to Firebase Hosting. |
The extension and web app share one library via the Drive vault.json, reconciled by core.
npm install
npm -w packages/core run test # 37 tests
npm -w apps/extension run test # unit + build-smoke
npm -w apps/web run test # unit + build-smoke
npm -w apps/extension run dev # esbuild --watch → load apps/extension/dist/ unpacked
npm -w apps/web run dev # http://localhost:5173 (/ landing, /app portal)CI auto-deploys apps/web to Firebase Hosting on push to main
(.github/workflows/deploy-web.yml). Manual: npm -w apps/web run build && cd apps/web && firebase deploy.
Setup + required secrets: apps/web/DEPLOY.md and
apps/web/SETUP-SECRETS.md.
npm -w apps/extension run release # icons + build + zip → promptvault-extension.zip
npm -w apps/extension run store-images # (optional) regenerate listing graphicsThen in the CWS dashboard: upload the zip,
and paste the ready-made copy from
apps/extension/store-assets/DASHBOARD-FIELDS.md
(descriptions, category, permission justifications, data-usage, privacy URL). Screenshots +
promo tiles are in apps/extension/store-assets/. Full guide:
apps/extension/STORE-LISTING.md.
No servers, no telemetry. Data stays in the user's own Google Drive + browser. Least-privilege
drive.file + userinfo.email scopes. Policy: https://tech-sumit.github.io/promptvault/privacy
Issues and PRs welcome — see CONTRIBUTING.md for setup, tests, and the project's ground rules (no backend, least privilege, no secrets).
MIT © Sumit Agrawal



