๐ช One-click webhook trigger with page context, template variables, and smart rules
-
๐ช Multiple webhook templates โ create, edit, and manage named templates with URL, HTTP method, and key-value parameters
-
๐ Template variables โ dynamically inject page context into parameter values:
Variable Description {{page.url}}Current page URL {{page.title}}Page title {{page.selection}}Selected text {{page.meta.description}}Meta description {{page.meta.og:title}}Open Graph title {{page.meta.og:description}}Open Graph description {{page.meta.og:image}}Open Graph image -
โก Quick Send Rules โ define rules based on page URL or title to automatically fire the right webhook; first match wins, fallback opens popup
-
๐ Context menu โ right-click on any page to trigger webhooks from the "Hooky" menu
-
๐จ Themes โ system / light / dark
-
๐ i18n โ 10 languages: English, ็ฎไฝไธญๆ, ็น้ซไธญๆ, ๆฅๆฌ่ช, ํ๊ตญ์ด, Franรงais, Deutsch, Espaรฑol, Portuguรชs (BR), ะ ัััะบะธะน
- Bun v1.x+
- Google Chrome
bun installThe
preparescript automatically runshuskyto set up Git hooks.
- Navigate to
chrome://extensions/ - Enable Developer mode (top-right toggle)
- Click Load unpacked โ select the project root
| Command | What it does |
|---|---|
bun run test |
๐งช Run unit tests (Vitest) |
bun run test:watch |
๐ Run tests in watch mode |
bun run test:coverage |
๐ Run tests with V8 coverage report (90% threshold) |
bun run lint |
๐ Lint src/ and tests/ with ESLint |
bun run test:e2e |
๐ Run Puppeteer E2E tests |
bun run build |
๐ฆ Package extension into dist/hooky-<version>.zip |
Hooks live in .husky/ and are shared across the team via Git.
| Stage | Command | Purpose |
|---|---|---|
pre-commit |
bun run test |
โ Catch regressions before commit |
pre-push |
bun run test && bun run lint |
โ Full quality gate before push |
Coverage is enforced at 90% for all four metrics:
-----------------|---------|----------|---------|---------|
File | % Stmts | % Branch | % Funcs | % Lines |
-----------------|---------|----------|---------|---------|
All files | 96.83 | 91.55 | 94.78 | 98.48 |
-----------------|---------|----------|---------|---------|
hooky/
โโโ ๐ _locales/ # i18n messages (10 languages)
โโโ ๐ผ๏ธ assets/ # Logo, store descriptions, promo images
โโโ ๐ถ .husky/ # Git hooks (pre-commit, pre-push)
โโโ ๐ง scripts/ # Utility scripts (icon generation)
โโโ ๐ฆ src/
โ โโโ background.js # Service worker โ startup, rules dispatch
โ โโโ contextmenu.js # Context menu setup & click handling
โ โโโ i18n.js # i18n helpers (applyI18n, t)
โ โโโ icons/ # Extension icons (16โ256px)
โ โโโ options/ # โ๏ธ Settings page (HTML, CSS, JS)
โ โโโ pagecontext.js # Page metadata extraction (injected on demand)
โ โโโ params.js # Request body / URL builder
โ โโโ popup/ # ๐ช Toolbar popup (HTML, CSS, JS)
โ โโโ quicksend.js # โก Quick Send with badge feedback
โ โโโ rules.js # ๐ Rule engine (matchRule, findMatchingRule)
โ โโโ store.js # Storage CRUD, migration, settings
โ โโโ template.js # Template variable resolution engine
โ โโโ theme.js # ๐จ Theme switching (system/light/dark)
โ โโโ webhook.js # HTTP request executor
โโโ ๐งช tests/
โ โโโ *.test.js # Unit tests (Vitest + jsdom)
โ โโโ e2e/ # Puppeteer E2E tests
โโโ manifest.json # Chrome Extension Manifest V3
โโโ vitest.config.js # Vitest + coverage config
โโโ eslint.config.mjs # ESLint flat config
โโโ package.json # Scripts & dev dependencies
bun run buildThis produces dist/hooky-<version>.zip containing only the runtime files needed by Chrome.
| Asset | Location | Status |
|---|---|---|
| ๐ Description (EN) | assets/description-en.txt |
โ |
| ๐ Description (ZH) | assets/description-zh.txt |
โ |
| ๐ Description (JA) | assets/description-ja.txt |
โ |
| ๐ Description (KO) | assets/description-ko.txt |
โ |
| ๐ Description (ZH-TW) | assets/description-zh-tw.txt |
โ |
| ๐ Description (FR) | assets/description-fr.txt |
โ |
| ๐ Description (DE) | assets/description-de.txt |
โ |
| ๐ Description (ES) | assets/description-es.txt |
โ |
| ๐ Description (PT-BR) | assets/description-pt-br.txt |
โ |
| ๐ Description (RU) | assets/description-ru.txt |
โ |
| ๐ Privacy Policy | PRIVACY.md |
โ |
| ๐ผ๏ธ Store Icon (128ร128) | src/icons/icon128.png |
โ |
| ๐ผ๏ธ Promo Tile (440ร280) | assets/hooky-banner-440x280.png |
โ |
| ๐ธ Screenshots (1280ร800) | assets/hooky-screenshot-1280x800-*.png |
โ |
- Register at the Chrome Web Store Developer Dashboard ($5 one-time fee)
- Run
bun run buildto generate the ZIP - Upload
dist/hooky-<version>.zip - Fill in listing details using the descriptions in
assets/ - Set privacy policy URL to
https://github.com/nocoo/hooky/blob/main/PRIVACY.md - Upload promo tile (440ร280) and at least 1 screenshot (1280ร800 or 640ร400)
- Submit for review (typically 1โ3 business days)
