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

@jonasporto/pwt

v0.1.10

Published

Power Worktrees - Git worktree manager for multiple projects

Readme

pwt - Power Worktrees

A powerful Git worktree workflow for today's multi-project development.

Tests License: MIT Version

Demos

Quick Start Use Symlink Status TUI

Watch overview (mp4)

More demos in examples/ (tapes in examples/tapes, gifs in examples/gifs, how to record in examples/README.md).


✅ Work in parallel — multiple projects, or parallel changes within the same project

✅ One stable workflow — keep one editor open, swap branches underneath it

✅ No local conflicts — automatic per-worktree ports, predictable dev servers

✅ Project-aware automation — run setup, servers, and custom commands via Pwtfile

✅ Built on Git worktrees — clones when isolation is required


Install

Homebrew

brew install jonasporto/pwt/pwt

npm

npm i -g @jonasporto/pwt

npx (without installing)

npx @jonasporto/pwt --help

bun

bun add -g @jonasporto/pwt

bunx (without installing)

bunx @jonasporto/pwt --help

curl

curl -fsSL https://raw.githubusercontent.com/jonasporto/pwt/main/install.sh | bash

Dependencies: git, jq (required). fzf, lsof (optional but highly recommended).

See INSTALL.md for shell setup and troubleshooting.


Quick Start

cd ~/projects/myapp
pwt init                        # Initialize project
pwt add feat/user-auth          # Create worktree from branch
pwt cd --select                 # Interactive worktree picker
pwt list                        # List worktrees with git status

Custom commands (Pwtfile)

pwt editor                      # Open editor in current worktree
pwt build                       # Run build command
pwt server                      # Start dev server (auto port allocation)
pwt ai                          # Start AI coding assistant

Multi-Project

# See all configured projects
pwt project

# Jump to a worktree in another project
pwt backend cd security-patch

# Quick switch to another project's main
pwt backend

# Run commands in any project
pwt backend build
pwt backend server

Pwtfile

Project-specific hooks. Think Makefile, but for worktree lifecycle.

# Pwtfile
PORT_BASE=5001

setup() {
    pwtfile_copy ".env"
    pwtfile_symlink "node_modules"
    bundle install
}

server() {
    PORT="$PWT_PORT" npm start
}

Variables: $PWT_PORT, $PWT_WORKTREE, $PWT_BRANCH, $PWT_PROJECT, $MAIN_APP

Run pwt help pwtfile for full syntax.


Shell Integration

# Add to ~/.zshrc or ~/.bashrc
eval "$(pwt shell-init zsh)"

Enables pwt cd, pwt cd @, pwt cd -, and tab completion.


Everyday Commands

| Command | Description | |---------|-------------| | init | Initialize project in current repo | | add <branch> | Create worktree from branch (-e editor, -a AI) | | list | List worktrees with git status (--dirty) | | cd <worktree> | Navigate to worktree (@ main, - previous, --select) | | project | List all configured projects | | <project> cd <wt> | Jump to worktree in another project | | editor | Open editor in current worktree | | server | Start dev server (from Pwtfile) | | ai | Start AI coding assistant | | remove <worktree> | Remove worktree (--with-branch) |


Worktree vs Clone

| Mode | When to use | |------|-------------| | Worktree (default) | Most cases — faster, shares git objects | | Clone (--clone) | Submodules, or need same branch checked out twice |


Plugins

Some features ship as plugins:

pwt aitools context     # Generate AI context
pwt extras benchmark    # Compare disk usage

Create your own: pwt plugin create mycommand


Documentation

| Resource | Description | |----------|-------------| | pwt help | Quick command reference | | pwt help all | Full docs (good for LLMs) | | man pwt | Manual page | | INSTALL.md | Installation guide | | FAQ.md | Frequently asked questions | | CHANGELOG.md | Version history |


Contributing

Contributions welcome! Please open an issue first to discuss changes.

See CONTRIBUTING.md for development setup and guidelines.