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

graphite-interactive-cli

v0.3.0

Published

Interactive menu for the Graphite CLI (gt) — stacks, PRs, and branching without memorizing commands

Downloads

525

Readme

Graphite interactive CLI (gtm)

npm version CI

Unofficial interactive menu for the official Graphite gt CLI — stacks, PRs, and branching with fewer memorized flags. Not affiliated with Graphite.

Repository: nickmccomb/graphite-interactive-cli · Issues

Graphite documentation

Authoritative gt behavior, install methods, GitHub auth, and troubleshooting live in Graphite’s docs. This repo maintains a curated link list:

  • docs/graphite-resources.md — install (brew / npm), requirements (Git ≥ 2.38), quick start, command reference, cheatsheet, LLM-oriented llms.txt / llms-full.txt pointers.

Highlights from their install guide:

brew install withgraphite/tap/graphite   # recommended
gt --version
npm install -g @withgraphite/graphite-cli@stable
gt --version

Then authenticate (see their docs): open app.graphite.com/activate and run the gt auth --token … command they provide.

Learn the workflow: CLI quick start · Command reference · Cheatsheet.

Using Graphite with AI tools: LLM-friendly documentation · graphite.com/docs/llms.txt.

Install gtm (this tool)

Requires a working gt on your PATH (see above). Node 20+ for this package.

npm install -g graphite-interactive-cli

Then run gtm in a terminal (interactive menu in a TTY). For an environment check you can run gtm doctor from the shell anytime; in the menu, the same check is under Start here → Environment check (doctor). The command name avoids clashing with GNU coreutils’ gtr (GNU tr) on many Macs.

Most Node installs put global binaries on your PATH automatically. If gtm is not found, add the directory from npm prefix -g (plus /bin on Unix) to PATH, like other global npm tools.

Without a global install: npx graphite-interactive-cli gtm.

Environment variables

| Variable | Effect | | ----------------------------------- | -------------------------------------------------- | | GTM_SHOW_GT=1 | Print an “equivalent gt …” line before each run. | | GTM_DEBUG=1 | Forwards gt --debug on invocations. | | GTR_SHOW_GT / GTR_DEBUG | Same as above (legacy names, still supported). |

Shell completion (optional)

After installing the package globally, completion scripts are under the package root, e.g.:

# npm -g root
G=$(npm root -g)/graphite-interactive-cli

# bash (~/.bashrc)
source "$G/completions/gtm.bash"

# zsh: completion file must be named _gtm on your fpath
mkdir -p ~/.zsh/completions
cp "$G/completions/gtm.zsh" ~/.zsh/completions/_gtm
fpath=(~/.zsh/completions $fpath)
autoload -Uz compinit && compinit

The bundled completions cover common first arguments (doctor, raw, help) and -C / --cwd; full passthrough for raw … is left to normal shell completion.

Develop

pnpm install
pnpm dev              # tsx src/cli.ts
pnpm build && node dist/cli.mjs --help
pnpm test
pnpm test:coverage   # lcov + html under coverage/

For AI/IDE agents working in this repo, see AGENTS.md.

Contributing

See CONTRIBUTING.md. Releases: RELEASING.md · CHANGELOG.md

Security

See SECURITY.md.

License

MIT — see LICENSE.