Project structure

Where everything lives in the repository.

Source · docs/PROJECT_STRUCTURE.md

src/content/
├─ core/        core utilities (shared by everything)
├─ youtube/     YouTube-specific features
├─ blocking/    site & ad blocking
├─ controllers/ page controllers
├─ utils/       UI utilities
└─ ui/          main orchestrator
text

Where to change what

  • Ad blocking — src/content/blocking/ad-blocker.js
  • Site blocking — src/content/blocking/site-blocker.js
  • Popup UI — src/popup/popup.js
  • Storage — src/content/core/storage.js
  • Design tokens — src/shared/apple-ui.css, liquid-glass.css

Adding a feature

Create the file in the matching folder, add logic, register it in manifest.json (order matters — dependencies load first), reload the extension, and test on YouTube. Keep modules small: one thing, done well.