Skip to content
🚧 Hey! You're using FNPM Beta 🎉 | ⚠️ Monorepo support coming soon! Stay tuned 🔜

FNPM - Because Package Manager Drama Sucks!

Because life's too short for package manager drama! 🤬

🚀 Quick Start

Terminal window
# 1. Install FNPM
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/ideascoldigital/fnpm/refs/heads/main/install.sh)"
# 2. Setup with transparent aliases (NEW!)
fnpm setup pnpm # or npm, yarn, bun
# 3. Configure your shell
echo 'eval "$(fnpm source)"' >> ~/.zshrc && source ~/.zshrc
# 4. Use your favorite package manager - FNPM handles the rest!
pnpm install # Intercepted by FNPM ✨

The Package Manager Soap Opera 🎭

FNPM (F*ck NPM) - Because sometimes you just need to say it.

The Eternal Conflict

“We should use npm!” 😤 “No, yarn is better!” 😠 “pnpm is the future!” 🤓 …and the war never ends

The Lock File Drama

Monday: package-lock.json Tuesday: yarn.lock Wednesday: pnpm-lock.yaml …and your git history cries

The CI/CD Nightmare

“Works on my machine!” “But which package manager did you use?” …and deployment fails again

The New Dev Onboarding

“Welcome! We use npm here.” “But I prefer yarn!” “Too bad!” …and another developer quits

Enter FNPM: The Peace Treaty 🕊️

Use What You Love

Supported Package Managers:

  • npm
  • yarn
  • pnpm
  • bun
  • deno

Use your favorite, we support them all!

One Lock to Rule Them All

No more lock file conflicts! FNPM ensures consistent dependencies across the team, regardless of individual preferences.

Happy CI/CD

Standardized workflow. Consistent builds. No more “works on my machine” excuses!

Team Harmony

Let developers be developers. Stop the package manager wars. Focus on what really matters: building awesome stuff!

🎭 NEW: Transparent Alias System

The game-changer that makes FNPM truly invisible. Use your favorite package manager commands while FNPM works behind the scenes!

Zero Learning Curve

Keep using npm install, yarn add, pnpm run - exactly as you always have. FNPM intercepts and optimizes everything automatically.

Seamless Integration

One-time setup: fnpm setup pnpm Add to shell: eval "$(fnpm source)" That’s it! Your workflow stays the same.

Smart Detection

Hooks only activate in FNPM projects. Automatic fallback to original commands when needed. No interference with existing workflows.

Team Adoption Made Easy

Developers can adopt FNPM gradually. No forced workflow changes. Perfect for mixed environments.

Basic Commands

With transparent aliases enabled, you can use either FNPM commands or your favorite package manager commands:

ActionFNPM CommandTransparent AliasWhat it does
Install dependenciesfnpm installnpm install / pnpm install / yarn installInstalls all project dependencies
Add a packagefnpm add <package>npm install <package> / pnpm add <package> / yarn add <package>Adds a new package to your project
Remove a packagefnpm remove <package>npm uninstall <package> / pnpm remove <package> / yarn remove <package>Removes a package from your project
Update packagesfnpm updatenpm update / pnpm update / yarn upgradeUpdates packages to their latest versions
Run a scriptfnpm run <script>npm run <script> / pnpm run <script> / yarn run <script>Runs a script defined in package.json
Clean cachefnpm cleannpm cache clean / pnpm store prune / yarn cache cleanCleans the package manager cache
List packagesfnpm listnpm list / pnpm list / yarn listLists installed packages

🎉 The magic: After setup, both columns work identically! Use whatever feels natural.