A browser extension for fuzzy searching tabs, history and bookmarks.
  • TypeScript 64.7%
  • CSS 20.5%
  • HTML 11.9%
  • JavaScript 2.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Avinal Kumar fce169f3f7
docs: add detailed build instructions for AMO source review
Assisted-by: Claude Code
Signed-off-by: Avinal Kumar <avinal.xlvii@gmail.com>
2026-04-28 00:38:24 +05:30
.github/workflows ci: add GitHub Actions workflow for build, typecheck, and lint 2026-04-28 00:18:57 +05:30
icons feat: add extension icons and prepare for AMO submission 2026-04-28 00:18:56 +05:30
options feat: sort results by last accessed time within each mode 2026-04-28 00:18:56 +05:30
src fix: resolve all web-ext validation warnings 2026-04-28 00:26:01 +05:30
.gitignore feat: add extension icons and prepare for AMO submission 2026-04-28 00:18:56 +05:30
build.mjs feat: project infrastructure and MV3 extension setup 2026-04-20 17:14:35 +05:30
LICENSE Initial commit 2025-11-14 22:04:59 +05:30
manifest.json fix: resolve all web-ext validation warnings 2026-04-28 00:26:01 +05:30
package-lock.json ci: add GitHub Actions workflow for build, typecheck, and lint 2026-04-28 00:18:57 +05:30
package.json ci: add GitHub Actions workflow for build, typecheck, and lint 2026-04-28 00:18:57 +05:30
README.md docs: add detailed build instructions for AMO source review 2026-04-28 00:38:24 +05:30
sciezka.css feat: add inline config panel for search method and mode order 2026-04-28 00:18:57 +05:30
sciezka.html feat: add inline config panel for search method and mode order 2026-04-28 00:18:57 +05:30
tsconfig.json feat: project infrastructure and MV3 extension setup 2026-04-20 17:14:35 +05:30

Sciezka

A fast, Spotlight-style browser extension for searching tabs, history, bookmarks, and recently closed tabs. Built with vanilla TypeScript — no framework dependencies.

Sciezka means "path" in Polish.

Why?

I relied on Saka for years to quickly jump between tabs, search history, and find bookmarks — all from the keyboard. It stopped being maintained. I couldn't find a replacement that was as fast and keyboard-driven, so I built one.

Features

  • Fuzzy search across open tabs, browsing history, bookmarks, and recently closed tabs
  • Three search methods: fuzzy (fzy algorithm), full-text, and prefix matching
  • Keyboard-driven: navigate entirely with keyboard shortcuts
  • Spotlight-style overlay: appears on any page without leaving your current context
  • Match highlighting: matched characters highlighted in search results
  • Configurable: set default search method and mode order via the options page

From source

git clone https://github.com/avinal/sciezka.git
cd sciezka

Load as a temporary extension in Firefox: about:debugging > This Firefox > Load Temporary Add-on > select manifest.json.

Usage

Press Ctrl+Space to open the search overlay on any page.

Key Action
Ctrl+Space Toggle open/close
Esc Close
Up/Down Navigate results
Enter Open selected result
Ctrl+Shift+Enter Open in new tab
Tab / Shift+Tab Cycle through modes
Ctrl+F Cycle search method (fuzzy / full-text / prefix)
Ctrl+D Close selected tab (Tabs mode only)

Modes

  • Tabs — open tabs in all windows
  • History — browsing history
  • Bookmarks — saved bookmarks
  • Closed — recently closed tabs

Building

Requirements

  • OS: Any platform that supports Node.js (Linux, macOS, Windows)
  • Node.js: v18 or later — install instructions
  • npm: comes bundled with Node.js

Build steps

git clone https://github.com/avinal/sciezka.git
cd sciezka
npm install
npm run build

npm run build runs node build.mjs, which uses esbuild to compile three TypeScript entry points (src/background.ts, src/content.ts, src/sciezka.ts) into bundled JavaScript files in the dist/ directory. No minification or obfuscation is applied.

The built extension files are:

  • dist/background.js — background service worker
  • dist/content.js — content script
  • dist/sciezka.js — search UI logic

Other commands:

  • npm run watch — rebuild on file changes
  • npm run typecheck — run TypeScript type checking
  • npm run lint — validate extension with web-ext

Packaging for Firefox

To create a .zip (which Firefox also accepts as .xpi) for sideloading:

npm run build
npx web-ext build --source-dir . --artifacts-dir ./artifacts --overwrite-dest \
  --ignore-files "src/" "tsconfig.json" "build.mjs" "package.json" \
  "package-lock.json" "node_modules/" "artifacts/" ".github/"

This produces artifacts/sciezka-<version>.zip. To install it in Firefox, go to about:addons > gear icon > Install Add-on From File.

License

MIT

Disclaimer

I have no practical knowledge of working with TypeScript or Mozilla Extensions. I created this extention mostly using Claude because the one I was using is not longer maintained. I hope to maintain this for long time. If you find any issues/concerns please feel free to contact me or open an issue.