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

tmux-web

v0.3.0

Published

Access tmux sessions from your browser via a web-based terminal

Readme

tmux-web

Access your tmux sessions from the browser. A lightweight web server that lists running tmux sessions and lets you attach through a full terminal in your browser — with built-in notes, a scheduler, and sidebar extensions.

Install

npm install -g tmux-web

Or run directly with npx:

npx tmux-web

Usage

# Interactive setup (command bar, GitHub Actions, Git Workflow — uses `gh auth login`, no token file needed locally)
tmux-web setup

# Start on default port 3000
tmux-web

# Custom port
PORT=8080 tmux-web

# Use the default xterm.js renderer
tmux-web

# Optional: use ghostty-web for terminal rendering
tmux-web --ghostty

# Equivalent environment override
TMUX_WEB_TERMINAL_RENDERER=ghostty tmux-web

# Optional: tail-first buffer loading (see docs/architecture.md)
TMUX_WEB_INITIAL_LINES=1000 TMUX_WEB_HISTORY_CHUNK=500 tmux-web

Then open http://localhost:3000 in your browser. You'll see a list of active tmux sessions — click one to attach.

Secrets in ~/.tmux-web/.env are loaded automatically when you run tmux-web. GitHub sidebar extensions (Actions, Git Workflow) use the GitHub CLI — run gh auth login once on the host; no token file is required for normal local use. For headless or server deployments, set GH_TOKEN in .env instead.

The terminal renderer defaults to xterm.js. Start with --ghostty or set TMUX_WEB_TERMINAL_RENDERER=ghostty if you want the browser session to use ghostty-web instead. --xterm explicitly selects the default renderer.

Documentation

  • Documentation hub
  • Notes — per-session Markdown scratchpad
  • Scheduler — delayed send-keys tasks
  • Windows drawer — switch tmux windows from the terminal header (mobile-friendly tab picker)
  • Extensions — install, configure, and build sidebar plugins
  • Git Workflow — git status, worktree handoff, commit/push
  • Architecture — how the server, terminal, and extensions connect

Prerequisites

  • Node.js >= 22
  • tmux installed and available in your PATH
  • GitHub CLI (gh) on your PATH if you use the GitHub Actions or Git Workflow sidebar extensions (gh auth login; no token file needed locally)
  • Writable ~/.tmux-web/ and ~/.config/tmux-web/ (see docs for dev-mode paths)

License

MIT