Video Notes is a lightweight YouTube companion: take timestamped annotations inline on youtube.com/watch, see them as timeline markers, and browse/search everything from the popup.
extension/: Manifest V3 Chrome/Chromium + Firefox extension written in TypeScript.scripts/content/index.tsinjects the notes UI,popup/ts/popup.tspowers the action popup,background.tsis a placeholder worker, and build outputs go toextension/dist/.worker/: Cloudflare Worker API for optional read-only share links.tests/e2e/: Playwright smoke-regression coverage for the built extension.- Static landing page at the repo root (
index.html,index.css,index.js,privacy.html) that explains the feature tour and links to installs. - Extension architecture notes live in
extension/README.md; automated test details live intests/README.md.
- Chrome Web Store: https://chromewebstore.google.com/detail/video-notes/phgnkidiglnijkpmmdjcgdkekfoelcom
- Website with tour + install links: https://prameshbajra.github.io/video-notes/
- Demo video (60s): https://www.youtube.com/watch?v=rOi7xQ8DLpo
npm installnpm run devfor watch builds intoextension/dist/.npm run buildto clean/copy assets and produce a freshextension/dist/.- Checks:
npm run lint,npm run typecheck(extension + Worker), andnpm run test:e2e. - Full local/CI verification:
npm run verify(npm run test:ciis an alias). - Optional:
npx web-ext run --source-dir extension/dist --target chromium|firefox-desktopto smoke-test,npx web-ext lint --source-dir extension/distbefore packaging.
- Run
npm run build(or keepnpm run devrunning). - Chromium (Chrome/Edge/Brave): open
chrome://extensions, enable Developer mode, click Load unpacked, and selectextension/dist. - Firefox: open
about:debugging#/runtime/this-firefox, click Load Temporary Add-on, and pickextension/dist/manifest.json. The manifest declaresbrowser_specific_settings.gecko.id(video-notes@prameshbajra).
Serve the repo root with any static server (e.g. npx serve . or python3 -m http.server) or just open index.html.
Run Worker checks with npm run typecheck:worker. For local Worker development, install Worker dependencies once with npm install --prefix worker, then use npm --prefix worker run dev; deploy with npm --prefix worker run deploy.