npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

tabby-ssh-keymap

v1.0.1

Published

A Tabby plugin that replaces absolute SSH key paths with logical names in your synced config, while keeping the real file paths local to each machine.

Readme

tabby-ssh-keymap

A Tabby plugin that lets your SSH profiles reference private keys by name instead of by absolute file path — so the same synced Tabby config works on every machine, and moving a key is a one-line edit.

Why

Tabby's SSH profiles store private keys as absolute local URIs:

privateKeys:
  - file:///home/alice/.ssh/id_work

This creates two problems:

  • Sync across machines breaks. /home/alice/.ssh/id_work doesn't exist on your macOS laptop or your Windows desktop. Every profile referencing that path fails when you sync the config.
  • No single source of truth locally. Rotating a key, renaming a file, or reorganizing ~/.ssh/ means editing every profile that points to it.

How it works

Profiles store a logical name that is safe to sync:

privateKeys:
  - sshkey://work

Each machine keeps its own local keymap file (never synced) that resolves work to the actual path on that machine:

// Linux
{ "keymap": [{ "name": "work", "path": "/home/alice/.ssh/id_work" }] }
// Windows
{ "keymap": [{ "name": "work", "path": "C:\\Users\\Alice\\.ssh\\id_work" }] }

Same sshkey://work in the synced config; each machine maps it to its own layout. Rotate a key or move a file? Edit one line in the keymap — every profile referencing that name follows automatically.

Install

From Tabby: Settings → Plugins → Available, search ssh-keymap, click Get, restart Tabby.

Or manually:

cd ~/.config/tabby/plugins   # %APPDATA%\tabby\plugins on Windows
npm install tabby-ssh-keymap

Use

  1. Open Settings → SSH Keymap
  2. Add an entry: logical name + path to the private key (paths starting with ~/ are expanded)
  3. Edit an SSH profile, click Add a private key, pick SSH Keymap in the selector, pick your entry
  4. Your profile now references sshkey://<name> and will resolve it locally at connection time

Key features

  • Scan profiles: one-click migration of all existing file:// entries in your current SSH profiles to sshkey://
  • Cascade rename: rename a key; all referencing profiles are updated automatically
  • Key validation: test button that parses each key with russh to verify its format
  • Home expansion: paths like ~/.ssh/id_work expand to $HOME/.ssh/id_work at resolution time
  • Search & usage count: filter entries and see how many profiles reference each key
  • Backward compatible: existing file:// paths in profiles keep working unchanged

Storage

The keymap is stored as ssh-keymap.json alongside Tabby's config.yaml:

  • Linux/macOS: ~/.config/tabby/ssh-keymap.json
  • Windows: %APPDATA%\tabby\ssh-keymap.json

When Tabby's config sync is enabled, this file is never included in the sync.

Development

git clone https://github.com/mathys-lopinto/tabby-ssh-keymap.git
cd tabby-ssh-keymap
yarn install
yarn watch

In a second terminal, with your Tabby source checkout:

TABBY_PLUGINS=/path/to/tabby-ssh-keymap yarn start

License

MIT © Mathys Lopinto