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

@leverj/claude-wt

v0.1.0

Published

Isolated git worktrees for parallel Claude Code sessions

Readme

@leverj/claude-wt

Isolated git worktrees for parallel Claude Code sessions.

Lets you run three Claude Code instances on three different stories at the same time, each in its own working directory, without the sessions stepping on each other's branch state or file edits. macOS only.

What it does

claude-wt new <slot> does four things:

  1. Creates a worktree under .claude/worktrees/<slot>/ (matching Claude Code's native convention), branched from origin/HEAD.
  2. Installs dependencies (detects yarn / pnpm / npm / bun via lockfile; skips if none).
  3. Auto-opens the worktree in your IDE — WebStorm, VS Code, or Terminal.app — based on where you ran the command from.
  4. Prints a cd … && claude hint if it doesn't recognize your terminal.

You then run claude in the IDE's integrated terminal (or it auto-starts in the Terminal.app path).

Install

Global (recommended)

npm install -g @leverj/claude-wt
claude-wt help

Per-project

npm install --save-dev @leverj/claude-wt
# Then either:
npx claude-wt new auth
# Or add to your package.json scripts:
#   "claude:wt": "claude-wt"
yarn claude:wt new auth

Usage

claude-wt new <slot>       Create a worktree, install deps, open IDE.
claude-wt list             Show active claude worktrees.
claude-wt remove <slot>    Remove the worktree (refuses if dirty).
claude-wt help             Show this help.

<slot> is an arbitrary tag — auth, 401, feature-foo, whatever's easy to remember. Must be alphanumeric / dash / underscore.

IDE detection

The tool detects which IDE called it via env vars set by each terminal:

| Where you ran it | Opens | |---|---| | WebStorm integrated terminal ($TERMINAL_EMULATOR=JetBrains-JediTerm) | new WebStorm window at the worktree | | VS Code integrated terminal ($TERM_PROGRAM=vscode) | new VS Code window at the worktree | | Terminal.app ($TERM_PROGRAM=Apple_Terminal) | new Terminal window, auto-runs cd … && claude | | Anything else | prints cd … && claude for copy-paste |

Override with CLAUDE_WT_OPEN_WITH=webstorm|code|terminal|none in your shell rc.

Setup tip for your repo

Add this to your .gitignore so the main checkout doesn't see worktree contents as untracked files:

.claude/worktrees/

This is recommended by Claude Code's worktree docs.

Caveats

  • macOS only. Linux/Windows hard-fail with a message. If a teammate needs them, contributions welcome.
  • Local test ports. Two worktrees both running local servers/tests that bind fixed ports (e.g., postgres on 54422) will collide. CI tests are fine — each CI VM is isolated.
  • No automatic cleanup. Unlike claude --worktree native, claude-wt doesn't auto-remove an idle worktree on exit. Run claude-wt remove <slot> when you're done; the dirty-check refuses removal if anything's uncommitted.
  • Branch persists after remove. claude-wt remove removes the working directory but leaves the worktree-<slot> branch in your repo. Delete with git branch -D worktree-<slot> if you want.