Personalize any website with CSS, HTML, and JS plugins — per URL, instantly.
A Chrome extension that lets you inject custom CSS, HTML, and JavaScript into any web page. Plugins match URLs by pattern and run automatically — no dev tools needed.
- Install from the catalog — bundled plugins for GitHub, Jira, and more
- Create your own — full-tab editor with CodeMirror 6, live preview, and visual URL matcher
- SPA-aware — instant detection via Navigation API, no polling, zero flicker
- No backend — everything runs locally in your browser
From source:
git clone https://github.com/billiax/domo.git
cd domo && npm install
npm run build:extThen: chrome://extensions → Developer mode → Load unpacked → select extension/
- Plugin catalog — 7 bundled plugins (GitHub, Jira) + 2 system plugins (Element Hider, Keyboard Shortcuts)
- 5 URL match types — site, path, exact, glob, regex — with exclude patterns and multi-match
- Full-tab editor — CodeMirror 6 with CSS/HTML/JS panes, match builder, console, API docs
- Plugin JS API — lifecycle signals, auto-cleanup timers, per-plugin storage, cross-origin fetch, script loading
- Export/import —
.domo.jsonformat with conflict resolution (skip/replace/duplicate) - Version history — last 10 snapshots per plugin, auto-update detection for catalog plugins
- Platform detection — GitHub, Jira, YouTube, LinkedIn
- Element hider — visual picker (Alt+H) to hide any element on any page
- Themes — system, light, dark
npm run build:ext # Build all entry points
npm run watch:ext # Watch + rebuild
npm run typecheck # Type-check (tsc --noEmit)
npm run test # Run tests (vitest)
npm run test:watch # Watch mode tests
npm run package # Build + zip for Chrome Web Store| Document | Description |
|---|---|
| Architecture | Entry points, directory structure, storage schema, matching, SPA support |
| Plugin API | Full api.* reference for plugin JavaScript |
| Creating Plugins | How to write plugin definitions for the catalog |
| Contributing | Setup, PR process, code style, testing |
| Security | Vulnerability reporting policy |
| Privacy Policy | Data handling and permissions |
| Changelog | Release history |
Contributions are welcome! See CONTRIBUTING.md to get started.