antfu-collective/ni

💡 Use the right package manager

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 17 minutes ago
Added to GitGenius on September 7th, 2026
Created on November 5th, 2020
Open Issues & Pull Requests: 28 (+0)
GitHub issues: Enabled
Number of forks: 276
Total Stargazers: 8,300 (+0)
Total Subscribers: 18 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.3 days
Mean response time: 76.4 days
90th percentile: 212.1 days
Tracked items: 59

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 16% of issues opened in the past year have been closed. Three people close 88% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 17
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 498 days
Stale 30+ days: 13
Stale 90+ days: 12

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (30)
  • pr welcome (6)
  • os:windows (2)
  • good first issue (1)
  • pr-welcome (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

ni is a command-line tool that automatically detects and uses the correct package manager for your project.

The problem ni solves is the friction of working across projects that use different package managers. When you run commands like `ni` (install), `nr` (run), `nup` (upgrade), or `nun` (uninstall), the tool detects lock files in your project—including yarn.lock, pnpm-lock.yaml, package-lock.json, bun.lock, deno.json, and others—to determine which package manager is in use, then executes the corresponding command with that manager. It also respects the packageManager field in package.json if specified. This eliminates the need to remember which manager each project uses.

The tool suits any developer who works across multiple projects with different package managers. It provides additional features like workspace catalog support for pnpm, Yarn Berry, and Bun, allowing automatic management of pinned versions through catalog references. The `nlx` command downloads and executes packages, with a `--local` flag to prefer already-installed binaries. An automatic installation mode can install missing package managers globally before running commands. The tool is available through npm, Homebrew, and asdf.

Development on the project shows consistent engagement with regular updates to support new package managers and workspace features. The codebase maintains active refinement of detection logic and command handling across multiple package manager ecosystems. The project integrates with established package manager ecosystems and distribution channels, indicating sustained maintenance of compatibility as those tools evolve.