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

outbridge

v0.10.0

Published

Bridge remote coding agents to local projects through an outbound SSH tunnel

Readme

Outbridge

npm version GitHub release License

Outbridge lets a coding agent on a remote development machine operate a project on your local Windows, macOS, or Linux computer. The local computer initiates the connection through an SSH tunnel—such as a VS Code Remote SSH port forward—so it does not need to accept inbound network connections.

Configure with your coding agent

Outbridge includes a reusable coding-agent skill at skills/use-outbridge.

Install it for your coding agents with:

npx skills add DiscreteTom/outbridge --skill use-outbridge -g

Then ask the coding agent running on the remote machine:

Use the use-outbridge skill to configure Outbridge so you can operate my local project from this remote machine.

The skill guides the agent and user through downloading Outbridge, starting the remote server and local worker, configuring the SSH or VS Code Remote SSH port forward, discovering Outbridge's operation commands through built-in help, and operating the project safely.

How it works

The server runs beside the remote coding agent and listens only on loopback. Each local worker initiates an outbound WebSocket connection through an SSH port forward and registers a named workspace. The agent uses Outbridge's operation commands, which invoke the server's loopback HTTP API and route each operation to the selected local workspace.

sequenceDiagram
    actor User
    participant Agent as Remote coding agent
    participant Server as Outbridge server<br/>(remote loopback)
    participant Tunnel as SSH / VS Code port forward
    participant Workers as Outbridge workers<br/>(local computers)
    participant Projects as Local projects

    Agent->>Server: Start persistent server
    User->>Tunnel: Forward remote worker port to local
    User->>Workers: Start a worker in each project directory
    Workers->>Tunnel: Open outbound connections
    Tunnel->>Server: Establish named workspace sessions

    Agent->>Server: Run an Outbridge operation command
    Server->>Workers: Route request to its named session
    Workers->>Projects: Perform the operation
    Projects-->>Workers: Return result
    Workers-->>Server: Relay response
    Server-->>Agent: Return result

Security and limits

  • The remote services bind to loopback and must not be exposed publicly.
  • Multiple named workspaces may connect concurrently. A new connection with the same name replaces the previous session.
  • File transfers may contain arbitrary binary data and are limited to 64 MiB.
  • The worker cancels shell execution after 60 seconds by default and supports requested deadlines up to one hour. Shell output is limited to 4 MiB combined.
  • Shell environment overrides are kept in worker memory, survive reconnects, and are cleared when the worker process exits. env list exposes configured values, so treat its output as potentially sensitive. Overrides are limited to 256 variables and 16 KiB total.
  • Writes replace files directly; atomic writes and conflict hashes are not yet implemented.
  • File transfers are workspace-relative. Shell working directories may be absolute or use parent traversal, so shell operations can access anything permitted to the local OS user.