Skip to content

billiax/domo

Domo

Domo

Personalize any website with CSS, HTML, and JS plugins — per URL, instantly.

CI License: MIT TypeScript: strict Chrome MV3


What is Domo?

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

Install

From source:

git clone https://github.com/billiax/domo.git
cd domo && npm install
npm run build:ext

Then: chrome://extensions → Developer mode → Load unpacked → select extension/

Features

  • 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.json format 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

Development

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

Documentation

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

Contributing

Contributions are welcome! See CONTRIBUTING.md to get started.

License

MIT

Releases

No releases published

Packages

 
 
 

Contributors