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

@usepeek/peek

v0.3.0

Published

Run your dev server. Share it instantly.

Readme

Peek

Run your dev server. Share it instantly.

Peek starts a project's development server, finds its local port, and creates a temporary public HTTPS URL with a Cloudflare Quick Tunnel. It is built for remote machines, SSH sessions, mobile terminals, and cloud development environments where opening localhost is inconvenient.

Install

Node.js 22 or newer is required. Peek itself runs on Node.js; a project may use pnpm, npm, Yarn, or Bun.

pnpm add -g @usepeek/peek

npm install -g @usepeek/peek also works. Peek downloads a pinned, checksum-verified cloudflared binary on first use and reuses it afterward. You do not need to install cloudflared yourself.

If you installed @radityprtama/peek, replace it with @usepeek/peek using the same package manager to keep receiving updates. For npm:

npm uninstall --global @radityprtama/peek
npm install --global @usepeek/peek

For pnpm, run pnpm remove -g @radityprtama/peek followed by pnpm add -g @usepeek/peek.

Quick start

cd my-project
peek

The project needs a dev script in its package.json. Peek runs the detected package manager's dev command, waits for a reachable server, then connects the tunnel. Press Ctrl+C to stop both processes.

Peek

✓ pnpm project
· Preparing tunnel engine...
· Starting pnpm dev...
· Waiting for server...
✓ Server ready on :3000
· Connecting tunnel...
✓ Tunnel connected

Local   http://localhost:3000
Public  https://example-words.trycloudflare.com

PUBLIC PREVIEW      Anyone with this URL can access the service.

Press Ctrl+C to stop

The public URL changes each run. Peek uses Cloudflare's Quick Tunnel service; it does not operate a relay or require a Peek account.

When a newer Peek version is available, interactive previews show an update notice after the preview URL is ready. The check runs in the background and never installs anything. Successful and failed checks are cached for 24 hours under ~/.peek. Run npm install --global @usepeek/peek@latest to update, or set NO_UPDATE_NOTIFIER=1 to disable checks. Peek skips checks in --json mode, CI, and test environments. The registry request contains no project or preview information.

Commands

| Command | Purpose | | --- | --- | | peek | Detect and run the current project's dev script. | | peek dev | Alias for peek. | | peek --port 5173 | Use the specified server port after checking it was free before startup. | | peek --qr | Show a terminal QR code when the terminal can display it. | | peek --no-qr | Suppress the QR code. | | peek --provider cloudflare | Select the Cloudflare provider. | | peek --verbose | Show Cloudflare diagnostics and error details. | | peek --host-header localhost | Fix a dev server that rejects the temporary tunnel hostname. | | peek -- npm start | Run an explicit executable and arguments instead of a dev script. | | peek --lan | Share on the local network without a tunnel. | | peek --private | Keep Peek's preview local without starting a tunnel. | | peek --public | Explicitly share without Peek authentication. | | peek --password | Prompt privately and require a password for tunnel requests. | | peek --expires 30m | Stop the preview automatically after it becomes ready. | | peek --json | Emit newline-delimited JSON events for scripts and agents. | | peek doctor | Check the local setup, binary cache, network, and port inspection. | | peek doctor --live | Start a temporary preview and check its host and HMR behavior. | | peek --help / peek --version | Show help or version. |

Flags go before --; tokens after it are passed as an executable and arguments without a shell. See CLI details for precedence and examples.

An optional peek.config.ts can set an argv-array command, port, provider, and QR preference. CLI flags take precedence.

Peek supports pnpm, npm, Yarn, and Bun projects. Its managed tunnel binary supports Linux x64/ARM64, macOS x64/ARM64, and Windows x64. Linux and macOS are the primary reliability targets. Silent servers on unusual ports may need --port.

Security

A plain Peek public URL is available to anyone who has it. Use peek --password to require HTTP Basic authentication at Peek's local proxy. The terminal prompts without echoing; in a browser, enter peek as the user name and your chosen password. Peek uses the Authorization header for that check, so an application that needs its own Authorization header cannot receive it through a protected preview. --private starts no public tunnel. Peek cannot change the dev server's own network bind address, and Cloudflare still carries protected tunnel traffic. Peek does not upload source code or collect telemetry. Read the security guide before sharing a sensitive preview.

Cloudflare says Quick Tunnels are for testing and development, with no uptime guarantee. They currently do not support Server-Sent Events and limit concurrent proxied requests. See Cloudflare's Quick Tunnel documentation.

Development

pnpm install
pnpm dev
pnpm test
pnpm lint
pnpm typecheck
pnpm build

See development for local linking and release checks, and troubleshooting if startup fails. The v0.3 live verification record documents the real Quick Tunnel checks and their environment limits.

Contributing and support

Contributions are welcome. Read the contributing guide and Code of Conduct before opening a pull request. Use issues for reproducible bugs and focused feature requests, and Discussions for questions and early ideas. For help, see the support guide. Report vulnerabilities through private vulnerability reporting.

Roadmap and license

v0.3 adds a local reverse proxy, password protection, expiry, and explicit access modes to the v0.2 reliability features. Additional providers are ideas for later releases, not commitments. See the roadmap.

Peek is released under the MIT license. The downloaded cloudflared binary is a separate Cloudflare component with its own license and terms.