Ripple visual + sound on every click. 100% free.
  • TypeScript 52.5%
  • Python 21.2%
  • CSS 16.9%
  • HTML 5.8%
  • Shell 1.8%
  • Other 1.8%
Find a file
Jose Juan Moñino fb1a775830
Some checks failed
ci / validate (push) Has been cancelled
feat: align to Greasy Sprocket model — all free, no premium, v1.0.0
- Remove premium tiers: all 4 sound packs unlocked
- Remove isPremium from settings, tier from packs
- Add setUninstallURL → greasysprocket.com/feedback?ext=clickpop
- Add coffee popup: 2-day usage threshold, 30d cooldown → greasysprocket.com/support
- Add update_url → greasysprocket.com/updates/clickpop.xml
- Replace ThockBoard upsell banner with Greasy Sprocket banner
- Bump version to 1.0.0
- Update tests for no-tier model
2026-07-11 00:32:46 +02:00
.gitea/workflows feat: bootstrap saas-tpl-chrome-ext sub-template 2026-07-05 19:15:07 +02:00
.meta feat: bootstrap from sdd-init-tpl @ 2468a0f 2026-07-06 19:00:00 +02:00
.specify feat: bootstrap from sdd-init-tpl @ 2468a0f 2026-07-06 19:00:00 +02:00
docs docs: add compact popup layout pattern reference 2026-07-06 16:23:56 +02:00
presets/d0a1-strict feat: bootstrap from sdd-init-tpl @ 2468a0f 2026-07-06 19:00:00 +02:00
protocols feat: bootstrap from sdd-init-tpl @ 2468a0f 2026-07-06 19:00:00 +02:00
public feat: ClickPop — ripple visual + click sounds on every click 2026-07-06 19:14:06 +02:00
scripts feat: ClickPop — ripple visual + click sounds on every click 2026-07-06 19:14:06 +02:00
specs feat: bootstrap saas-tpl-chrome-ext sub-template 2026-07-05 19:15:07 +02:00
src feat: align to Greasy Sprocket model — all free, no premium, v1.0.0 2026-07-11 00:32:46 +02:00
tests feat: align to Greasy Sprocket model — all free, no premium, v1.0.0 2026-07-11 00:32:46 +02:00
.editorconfig feat: bootstrap saas-tpl-chrome-ext sub-template 2026-07-05 19:15:07 +02:00
.gitignore feat: bootstrap saas-tpl-chrome-ext sub-template 2026-07-05 19:15:07 +02:00
AGENTS.md feat: bootstrap from sdd-init-tpl @ 2468a0f 2026-07-06 19:00:00 +02:00
biome.json feat: bootstrap saas-tpl-chrome-ext sub-template 2026-07-05 19:15:07 +02:00
commitlint.config.cjs feat: bootstrap saas-tpl-chrome-ext sub-template 2026-07-05 19:15:07 +02:00
CONSTITUTION.md feat: bootstrap from sdd-init-tpl @ 2468a0f 2026-07-06 19:00:00 +02:00
grill-decisions.md feat: bootstrap from sdd-init-tpl @ 2468a0f 2026-07-06 19:00:00 +02:00
lefthook.yml feat: bootstrap saas-tpl-chrome-ext sub-template 2026-07-05 19:15:07 +02:00
LICENSE feat: bootstrap saas-tpl-chrome-ext sub-template 2026-07-05 19:15:07 +02:00
package.json feat: align to Greasy Sprocket model — all free, no premium, v1.0.0 2026-07-11 00:32:46 +02:00
pnpm-lock.yaml feat: bootstrap saas-tpl-chrome-ext sub-template 2026-07-05 19:15:07 +02:00
pnpm-workspace.yaml feat: bootstrap saas-tpl-chrome-ext sub-template 2026-07-05 19:15:07 +02:00
README.md feat: bootstrap saas-tpl-chrome-ext sub-template 2026-07-05 19:15:07 +02:00
tsconfig.json feat: bootstrap saas-tpl-chrome-ext sub-template 2026-07-05 19:15:07 +02:00
wxt.config.ts feat: align to Greasy Sprocket model — all free, no premium, v1.0.0 2026-07-11 00:32:46 +02:00

saas-tpl-chrome-ext

Chrome MV3 extension sub-template for d0a1 SDD. WXT 0.20.27, TypeScript strict, Biome 2.x, Vitest.

Instanciado vía sdd-init-tpl:

bash scripts/assemble.sh install chrome-extension my-extension

Stack

Layer Tool Version
Build WXT 0.20.27
Language TypeScript 6.0.3 (strict)
Lint/Format Biome 2.5.1 (no ESLint/Prettier)
Testing Vitest 4.1.9
Validation Zod 4.4.3
Commits commitlint 21.1.0
Hooks lefthook 2.1.9 (Go binary)

Develop

pnpm install
pnpm wxt prepare
pnpm dev   # launches WXT dev browser

Build

pnpm build
# Load .output/chrome-mv3 as unpacked extension in Chrome

Validate

pnpm validate  # typecheck + lint + test

License

Apache-2.0