Annotate live webpages and export actionable feedback for implementation.
- Chrome MV3 (
.output/chrome-mv3) - Firefox MV3 (
.output/firefox-mv3)
- On-page annotation toolbar with category tagging and marker management
- Element-targeted comments with visual highlight and per-page badge counts
- Export flows:
- Download snapshot image
- Copy Markdown notes to clipboard
- Context menu shortcuts:
- Open Feedback Toolbar
- Export Feedback Snapshot
- Annotation data is stored locally and keyed by page URL.
- Settings are stored in sync storage (currently light/dark preference and legacy enable-state migration key).
- Pending snapshot resume state is stored session-first with local fallback for reliability.
- Annotation retention is 7 days.
- No analytics or remote backend; data leaves the extension only when you export/share it.
Full policy: docs/privacy.html.
Production builds request:
storagedownloadsactiveTabscriptingcontextMenusoffscreen(Chromium builds only)
Notes:
- No persistent broad
host_permissionsin production. tabsis test-only and only included in E2E builds.- Snapshot capture is runtime-gated by
activeTab; if access expires, invoking the extension action re-establishes access and resumes export.
npm installnpm run build
Load unpacked builds:
- Chrome:
chrome://extensions-> Developer mode -> Load unpacked -> select.output/chrome-mv3 - Firefox:
about:debugging#/runtime/this-firefox-> Load Temporary Add-on -> select.output/firefox-mv3/manifest.json
Key scripts:
npm run dev- WXT dev servernpm run build- production builds for Chrome MV3 + Firefox MV3npm run zip- package Chrome MV3npm run zip:firefox- package Firefox MV3npm run lintnpm run typechecknpm run testnpm run test:e2e:chromenpm run test:e2e:firefoxnpm run verify:manifestsnpm run check:bundle-size
entrypoints/- WXT entrypoints (background.ts,content/,offscreen/,test-activate/)components/- shared React UIhooks/,stores/,utils/,shared/,types/- app logic and typed utilitiestests/- Playwright E2E specs and fixturestest/- Vitest setupdocs/- project docs and privacy policy
MIT. See LICENSE.