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

gohere

v0.6.0

Published

Tiny local dev URL launcher for .localhost projects.

Readme

gohere

Tiny local dev URL launcher for .localhost projects.

http://myproject.localhost

Run gohere inside a package project, workspace root, or static folder. It starts or serves the project on a hidden local port, routes a clean .localhost hostname to it, and prints the URL.

No script edits. No port memorization. No repo config.

Install

Global install is recommended:

npm i -g gohere

Or install the Go CLI directly:

go install github.com/roie/gohere/cmd/gohere@latest

Quick start

gohere supports package projects, workspace roots, and static files.

Run the default command:

gohere

In a package project, this runs the nearest package.json dev script. In a workspace root, this discovers workspace packages from pnpm-workspace.yaml or package.json workspaces, starts each package with a dev script, and gives each package its own route:

gohere web    -> http://web.myrepo.localhost
gohere worker -> http://worker.myrepo.localhost

Run a named package script:

gohere dev:web

Run multiple server scripts:

gohere dev:web dev:api

When one gohere run starts multiple services, each service can discover the others through env vars. For example, a web dev server can proxy API requests to a worker without hardcoding a port:

target: process.env.GOHERE_WORKER_URL

Use GOHERE_<NAME>_URL for app config. GOHERE_<NAME>_PORT, GOHERE_<NAME>_TARGET, and GOHERE_SERVICES_JSON are also available when multiple managed services start together. PORT and TARGET are advanced values and are only set when gohere controls that service port.

Run any current package script exactly as written by naming it explicitly:

gohere dev
gohere build
gohere preview

Run an explicit filesystem target:

gohere ./dist
gohere ./apps/web

Auto-refresh static pages while editing:

gohere --live

Run a raw command:

gohere -- npm run dev

Use a custom .localhost name for this run:

gohere --as api

Route to a known target port:

gohere --target 5173 -- npm run dev

Use a custom port flag for tools that do not use --port:

gohere --port-flag --local-port dev

Open the project URL in your browser:

gohere --open

For static folders, gohere serves index.html. You can also open a specific file, for example gohere about.html, which routes to http://myproject.localhost/about.html.

CSS, images, and scripts are served normally.

Examples

myproject      -> http://myproject.localhost
@scope/web     -> http://web.localhost
./apps/web     -> http://web.repo.localhost
./dist         -> http://dist.localhost
about.html     -> http://myproject.localhost/about.html

Route management

gohere list
gohere list --verbose
gohere list --json
gohere stop
gohere stop web
gohere stop --all
gohere prune
gohere doctor
gohere service stop
gohere uninstall

gohere list --verbose shows host, target, status, PID, and working directory.

gohere list --json returns the same route information in a stable machine-readable format.

gohere stop stops routes for the current folder. gohere stop <target> stops a listed route by host, short host label, route name, or project name. gohere stop --all stops safely controllable routes and skips unverified live routes.

Route status can be ready, dead, or unknown. prune removes only routes that are confidently dead.

Service And Uninstall

Stop the background service without removing gohere:

gohere service stop

Clean up the copied service binary before removing the npm package:

gohere uninstall
npm uninstall -g gohere

gohere uninstall removes the local service install and asks before deleting routes, logs, and token state.

How it works

gohere runs one local service on HTTP port 80.

Each project gets a hidden local port. The service maps the clean .localhost hostname to that port using the request Host header.

First-time setup installs the local service in ~/.gohere/ and starts it in the background. After that, gohere only starts your project and registers its route.

The service only serves local machine traffic. On macOS, gohere uses a port 80 listener that rejects non-loopback connections before requests reach the router.

State is stored in:

~/.gohere/

Linux may ask for one-time permission to bind port 80.

When used from WSL, gohere reuses a running Windows service automatically.

Platform support

  • Linux / WSL
  • Windows
  • macOS (experimental)

The npm package includes x64 and arm64 binaries for these platforms.

Limits

  • HTTP only
  • .localhost only
  • no HTTPS
  • no LAN sharing
  • no custom TLDs
  • no project config files
  • no browser auto-open by default

License

Apache-2.0