Skip to content

Lyssa112/signet

Repository files navigation

Signet

Your Karakeep bookmarks, one click away.

Built entirely with AI assistance, Claude Code - vibe coded from scratch.

Signet is a Firefox toolbar extension for Karakeep that lets you instantly search, browse, and open your bookmarks without ever leaving your current tab. No more navigating to your Karakeep instance every time you need to find a link - just click the icon, type a few letters, and go.

Firefox License


List view Dark List view Light Tags view Dark Recent view Dark

Features

  • Three view modes - Lists (grouped by Karakeep lists), Tags (interactive tag cloud with multi-select AND filtering), Recent (20 most recently added bookmarks)
  • Live search across titles, URLs, and tags with instant filtering
  • Tag cloud with size tiers based on bookmark count and multi-tag AND logic
  • Favorites - star bookmarks for quick filtering across all views
  • Pin to top - pin important bookmarks above the main list
  • Quick-add - save the current tab to Karakeep with one click
  • Light / Dark / System theme with glassmorphism design
  • Configurable popup width - Narrow (340px), Default (380px), Wide (440px)
  • Favicons via Google S2 service with colored domain-initial fallbacks for private/local hosts
  • Custom right-click context menu - Open in New/Current Tab, Copy Link, Pin/Unpin, Add/Remove Favorites, Export as Markdown/CSV (on list headers)
  • Address bar integration - type k + space in the URL bar to search bookmarks inline
  • Keyboard shortcuts - navigate, search, and open bookmarks without touching the mouse
  • Background auto-refresh via browser.alarms API (configurable interval)
  • Offline support - cached bookmarks with stale cache banner and retry button
  • Lazy rendering - renders cards in batches of 30 for snappy performance with large collections
  • Storage quota guard - falls back to local storage when sync quota nears capacity
  • Welcome overlay on first launch with setup wizard
  • Skeleton loading state while fetching
  • Export bookmarks as CSV or JSON with favorites and list metadata

Installation

Option A: Download Release

  1. Download the latest .xpi from GitHub Releases
  2. Open Firefox and drag the .xpi file into the browser window
  3. Click "Add" when prompted
  4. The Signet icon appears in the toolbar

Option B: Build from Source

git clone https://github.com/lyssa112/signet.git
cd signet
npx web-ext build

Then load the built .xpi from web-ext-artifacts/, or load the source directory as a temporary add-on:

  1. Navigate to about:debugging#/runtime/this-firefox
  2. Click "Load Temporary Add-on..."
  3. Select manifest.json from the project directory

Permanent Installation

Temporary add-ons are removed on Firefox restart. To install permanently:

  • Mozilla AMO - submit to addons.mozilla.org for signing
  • Self-sign - use web-ext sign --api-key YOUR_KEY --api-secret YOUR_SECRET with a Mozilla API key
  • Developer Edition / Nightly - set xpinstall.signatures.required to false in about:config

Configuration

Getting a Karakeep API Key

  1. Log in to your Karakeep web UI
  2. Navigate to Settings > API Keys
  3. Click Create new API key
  4. Copy the generated key

Connecting the Extension

  1. Click the Signet icon in the toolbar
  2. The welcome screen appears on first launch - click Get Started
  3. Enter your Karakeep base URL (e.g. https://karakeep.example.com, no trailing slash)
  4. Paste your API key
  5. Click Save, then Test to verify the connection

Keyboard Shortcuts

Key Action
/ Focus the search bar
Escape Close popup / dismiss overlay
Up / Down Navigate through bookmark cards
Enter Open focused bookmark in current tab
? Show shortcuts overlay
Middle click Open bookmark in background tab

Address Bar

Type k followed by a space in Firefox's address bar, then enter your search query. Up to 8 matching bookmarks appear as suggestions with highlighted matches.

Settings

Connection

  • Karakeep Base URL - root URL of your self-hosted instance
  • API Key - authentication key from Karakeep settings

Appearance

  • Default theme - System (follows OS), Light, or Dark
  • Popup width - Narrow (340px), Default (380px), Wide (440px)
  • Show favicons - toggle favicon images on bookmark cards
  • Show URLs - show hostname subtitle under each bookmark title (click to copy)

Behaviour

  • Default view - Lists, Tags, or Recent (which tab opens by default)
  • Show Unlisted / Untagged - toggle catch-all groups
  • Auto-refresh - Never, 5 min, 15 min, or 30 min (uses browser.alarms)
  • Address bar suggestions - enable/disable the k omnibox integration

Data

  • Clear cache - wipe local bookmark cache and force a fresh fetch
  • Export CSV - download all bookmarks as signet-bookmarks.csv
  • Export JSON - download all bookmarks as signet-bookmarks.json with list names, tags, favorites, and timestamps
  • Storage usage - shows current sync and local storage consumption

Development

Prerequisites

  • Firefox 109+
  • Node.js (for web-ext CLI)

Run Locally

git clone https://github.com/lyssa112/signet.git
cd signet

# Load as temporary add-on
# 1. Open about:debugging#/runtime/this-firefox
# 2. Click "Load Temporary Add-on"
# 3. Select manifest.json

# Or use web-ext for auto-reload:
npx web-ext run --firefox-profile=dev --keep-profile-changes

Build

npx web-ext build
# Output: web-ext-artifacts/signet-1.0.0.zip

Lint

npx web-ext lint

Project Structure

├── manifest.json          # Extension manifest (Manifest V2)
├── background.js          # Omnibox, alarms, background sync
├── popup.html             # Popup markup
├── popup.css              # All styles (CSS custom properties for theming)
├── popup.js               # All popup logic (vanilla JS, no frameworks)
├── theme-init.js           # Synchronous theme init (prevents flash)
├── icons/                 # Extension icons (PNG) + Lucide icon bundle
└── README.md

Contributing

See CONTRIBUTING.md for guidelines on reporting bugs, requesting features, and submitting pull requests.

License

MIT - lyssa@merkt.cat

About

you have Karakeep but you don't want to open it every time you need a bookmark - Signet it is.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors