Smooth scroll + custom scrollbars + scroll features Chrome extension
  • TypeScript 67.8%
  • CSS 16.6%
  • HTML 11.6%
  • Python 2.2%
  • Shell 0.9%
  • Other 0.9%
Find a file
Claude Agent 24e3625b9d
Some checks failed
ci / validate (push) Failing after 51s
fix: gs43 ts svg quoting
2026-10-05 14:03:50 +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:59:46 +02:00
.specify feat: bootstrap from sdd-init-tpl @ 2468a0f 2026-07-06 19:59:46 +02:00
docs chore: bump version + add stable extension key 2026-08-07 19:58:19 +02:00
presets/d0a1-strict feat: bootstrap from sdd-init-tpl @ 2468a0f 2026-07-06 19:59:46 +02:00
protocols feat: bootstrap from sdd-init-tpl @ 2468a0f 2026-07-06 19:59:46 +02:00
public/icons feat: ScrollFlow — smooth scroll + custom scrollbars + parallax 2026-07-06 20:05:27 +02:00
scripts feat: ScrollFlow — smooth scroll + custom scrollbars + parallax 2026-07-06 20:05:27 +02:00
specs feat: bootstrap saas-tpl-chrome-ext sub-template 2026-07-05 19:15:07 +02:00
src fix: gs43 ts svg quoting 2026-10-05 14:03:50 +02:00
tests chore: bump version + add stable extension key 2026-08-07 19:58:19 +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:59:46 +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:59:46 +02:00
grill-decisions.md feat: bootstrap from sdd-init-tpl @ 2468a0f 2026-07-06 19:59:46 +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 chore: bump version + add stable extension key 2026-08-07 19:58:19 +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 chore: bump version + add stable extension key 2026-08-07 19:58:19 +02:00
tsconfig.json feat: bootstrap saas-tpl-chrome-ext sub-template 2026-07-05 19:15:07 +02:00
wxt.config.ts chore: bump version + add stable extension key 2026-08-07 19:58:19 +02:00

ScrollFlow

Smooth scrolling enhancement for Chrome. Zero-config, 100% free, no ads, no tracking. Part of the Greasy Sprocket family.

Features (all zero-config, toggleable from popup)

Feature Default What it does
Smooth scroll ON Lerp-based smooth scrolling with configurable duration + easing
Auto-color scrollbar ON Detects the site's accent color and tints the scrollbar to match — subtle, not jarring
Scrollbar themes minimal 10 built-in themes (minimal, round, neon, glass, wood, carbon, gold, sakura, ocean, ember)
Auto-hide scrollbar OFF Scrollbar invisible until you scroll, fades in/out
Progress bar ON Thin bar at top showing scroll progress, auto-colored to match site
Scroll-to-top ON Floating button appears after scrolling 400px, smooth scroll back to top
Keyboard scroll ON Vim-style: j/k (step), d/u (half page), Space (full page), gg (top), G (bottom)
Momentum scroll OFF Physics-based inertia — scroll keeps going and decelerates naturally
FPS auto-degrade auto Drops to native scroll if FPS < 30, re-enables when recovered

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

Specs

Feature specifications live in docs/specs/:

License

Apache-2.0