Skip to main content

Better PM

A CLI tool that makes package manager operations smarter and easier, especially in monorepos.

Why Better PM?

Better PM eliminates the friction of working with multiple package managers and complex monorepo structures. No more remembering which package manager your project uses, no more accidental full-monorepo installs, and no more manual navigation between workspace packages.

Package Manager Agnostic

Works seamlessly with pnpm, bun, and npm — automatically detects which one your project uses

Monorepo-Aware

Automatically scopes installs to the current package, preventing accidental full-monorepo installs

Smart Navigation

Jump to any workspace package from anywhere with shell integration

Paste-Friendly

Copy commands from READMEs and paste directly — automatically extracts packages and flags

Quick Start

Get up and running in under a minute:
1

Install Better PM

brew install fdarian/tap/better-pm
2

Activate Shell Integration

Add to your shell configuration:
.zshrc
eval "$(pm activate zsh)"
3

Start Using

pm i                    # Install dependencies
pm add react           # Add packages
pm cd @myapp/web       # Navigate to packages

Key Features

Example Workflow

Here’s how Better PM simplifies your daily workflow:
# Navigate to a workspace package
pm cd @myapp/web

# Install only this package's dependencies
pm i

# Add a new dependency (works with any package manager)
pm add lodash

# Add dev dependency by pasting from a README
pm add "npm install -D @types/node"

# Jump back to root
pm cd

# List all workspace packages
pm pls

Supported Package Managers

  • pnpm — Full support with workspace filtering
  • bun — Full support with workspace operations
  • npm — Full support with workspace commands
Better PM automatically detects your package manager by looking for lock files and workspace configuration.