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 orchestratortextWhere 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.