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

ghostty-top

v0.1.0

Published

A per-terminal CPU and memory monitor for Ghostty (macOS; Linux from source)

Readme

ghostty-top

Shows how much CPU and memory each Ghostty tab is using, and how much time you spend in each one.

Install

bun install -g ghostty-top

Or npm install -g ghostty-top. Or build it yourself with cargo install --path ..

Nothing else to install and nothing to configure.

Linux: build from source with cargo install --path .. The monitor works the same, but the usage calendar doesn't: Ghostty only reports which tab you're looking at on macOS, so there's no way to measure per-tab time elsewhere. Rows are named by folder instead of tab name for the same reason. The npm package ships a Mac binary only.

Run it

ghostty-top          # the live monitor
ghostty-top --once   # print once and exit

Each row is one Ghostty tab. Ghostty draws all tabs in a single process, so the memory that process uses is shown on its own line at the top.

You can use the mouse for everything. Click a column title to sort by it, click it again to flip the order, click a row to select it, and click it once more to see the processes inside. The controls at the bottom are buttons too.

Keys, if you prefer them:

| Key | What it does | | --- | --- | | ↑ ↓ | Move between tabs | | enter | Show the processes in a tab | | c m g p a n t | Sort by CPU, memory, trend, processes, age, activity, tab | | u | Open the usage calendar | | q | Quit |

Usage calendar

Press u. There are three ways to look at it, with d, w, and c:

  • daily – one square per day. Brighter means more time.
  • weekly – one bar per week.
  • cumulative – the total adding up over time.

Point at any square or bar to see its total. Click it to see which tabs the time went to.

This part is macOS only. Time only counts when Ghostty is the app you're using and you're actually at your Mac. Nothing is counted when the lid is closed, when the screen has been idle, or while the Mac is asleep.

To keep counting when the monitor isn't open:

ghostty-top --track           # in this window
ghostty-top --install-tracker # in the background, starting at login

Run --install-tracker again after updating ghostty-top, so the background copy is updated too. --uninstall-tracker stops it and keeps your history.

What gets saved

Everything is saved in ~/Library/Application Support/ghostty-top/ and stays on your Mac. It saves tab names, folder paths, program names, and CPU and memory readings. It does not save anything you type or anything printed in your terminal, and it never saves command arguments or environment variables, because those can contain passwords and keys.

The first time it reads tab names, macOS asks you to allow it to control Ghostty. That permission is only needed once.

Good to know

  • CPU adds up every process in a tab, so it can go over 100% on a Mac with several cores.
  • Memory adds up each process, and programs often share memory, so treat the number as a rough guide.
  • A leak warning means a tab's memory has been climbing steadily for a few minutes. It's worth a look, but it isn't proof of a problem.

Run ghostty-top --help to see every option.

Contributing

Bug reports and pull requests are welcome. See CONTRIBUTING.md for how to get set up and what to check before opening one.

License

MIT