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

@seflless/ghosttown

v2.0.0

Published

Web-based terminal emulator using Ghostty's VT100 parser via WebAssembly

Readme

ghost-town

Ghost town let's you continue terminal sessions from other devices using a browser. The runtime is based on Ghostty with a recreated UI that should feel like using Ghostty for desktop.

We're building this to make it easy to build web apps using coding agents, while on the go.

Installation

# npm
npm install -g @seflless/ghosttown

# One-liner
curl -fsSL https://raw.githubusercontent.com/seflless/homebrew-ghosttown/main/install.sh | bash

# Homebrew
brew install seflless/ghosttown/ghosttown

CLI Commands

After installing, you can use any of these commands:

| Command | Description | | ----------- | --------------------------- | | ghosttown | Primary command (canonical) | | gt | Short alias | | ght | Alternative alias |

All three commands behave identically.

Note: The gt alias may conflict with other tools (e.g., go-task/gt). If you experience conflicts, use ght or the full ghosttown command instead.

# Start the web terminal server
ghosttown

# Start on a specific port
ghosttown -p 3000

# Run a command in a new tmux session
ghosttown vim
ghosttown "npm run dev"

# Run a command with a custom session name
ghosttown -n my-project vim

# List all sessions
ghosttown list

# Attach to a session by name
ghosttown attach my-project

# Rename the current session (when inside one)
ghosttown rename new-name

# Kill a specific session
ghosttown -k my-project

# Kill all ghosttown sessions
ghosttown -ka

# Show help
ghosttown --help

Session Management

Ghosttown uses tmux to manage terminal sessions. Each session gets a stable ID that persists across renames, so URLs continue to work even after renaming a session.

| Command | Description | | ----------------------- | --------------------------- | | gt list | List all ghosttown sessions | | gt attach <name> | Attach to a session | | gt detach | Detach from current session | | gt rename <new> | Rename current session | | gt rename <old> <new> | Rename a specific session | | gt -k <name> | Kill a specific session | | gt -ka | Kill all sessions | | gt update | Update to latest version |

Credits