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

@gluecharm-lab/bridge

v0.1.7

Published

Local bridge between Gluecharm web app and Cursor/VS Code extension

Readme

@gluecharm-lab/bridge

Local daemon that connects the Gluecharm web app (gluecharm.com) with the Gluecharm Cursor/VS Code extension. It runs on your machine and is only reachable on localhost.

Install and run

Install from npm (published package): npm install -g @gluecharm-lab/bridge or use npx @gluecharm-lab/bridge start. See User manual: Install and run from npm for details.

Install (local development)

npm install
npm run build
npm link

Start the bridge

gluecharm-bridge start

Or without linking (e.g. from another machine or via npx):

npx gluecharm-bridge start

The bridge picks a free port (typically 7891, then 7892 if 7891 is in use) and writes it to ~/.gluecharm/bridge.lock along with an ephemeral secret. The Gluecharm extension reads this file to connect. You should see something like:

Gluecharm Bridge running on http://localhost:7891

(The port in the message is the one actually in use; check ~/.gluecharm/bridge.lock for the exact port and secret.)

  • Credentials (SRS-17): The Technical Connect view in the web app can send GlueCharm API credentials to the bridge via POST /gluecharm/credentials (with X-Bridge-Secret). They are stored in ~/.gluecharm/credentials.json (mode 0600). The bridge refreshes the access token when expired (same policy as the frontend: 120 s before expiry) and uses the stored token for outbound GlueCharm API calls. The extension does not call the API directly; it goes through the bridge. To use a different auth API for refresh, set GLUECHARM_AUTH_API_URL (default: https://system-manager-api.staging.gluecharm.info:8092).

  • Single instance: Only one Gluecharm Bridge runs per machine. If you start a second one while the first is still running, it exits with: Another Gluecharm Bridge is already running (PID …). Exiting.

  • Idle shutdown: If no extension is connected for 5 minutes, the bridge exits and removes the lock file.

Test the bridge

With the bridge running in another terminal, from the repo root:

./scripts/test-bridge.sh

This reads ~/.gluecharm/bridge.lock for port and secret, then checks /ping and /bridge/register. If both succeed, the bridge is ready for the extension.

Or test manually (use the port from the console or from ~/.gluecharm/bridge.lock):

curl http://localhost:7891/ping
# → { "status": "pong", "version": "0.1.0" }

Run without linking (from repo)

npm run build
node bin/gluecharm-bridge.js start

Run acceptance criteria tests

From the repo root:

./scripts/run-ac-tests.sh

Teardown

npm unlink -g @gluecharm-lab/bridge