"all"
OMNES
Universal package manager wrapper
Automatically detects and uses the right package manager (bun, npm, pnpm, yarn) for your project. No more context-switching.
bun add omnesThe Problem
Every project uses a different package manager. You're constantly context-switching between bun, npm, pnpm, and yarn. It breaks muscle memory and causes mistakes.
How It Works
Check Lock Files
Looks for bun.lockb, package-lock.json, pnpm-lock.yaml, yarn.lock
Check packageManager
Falls back to package.json's packageManager field
Use Detected PM
Runs the equivalent command with correct flags
Features
Auto Detection
Automatically detects the correct package manager from lock files and package.json.
Same Commands
Use the same commands everywhere: install, add, remove, run, exec.
Tiny Size
~1KB. Zero dependencies. Does one thing well.
Zero Config
Works out of the box. No configuration needed.
CI Friendly
Perfect for CI/CD pipelines that need to support multiple package managers.
Alias Support
Set up an alias and forget about package manager differences.
Installation
# With npm
npm install -g omnes
# With bun
bun add -g omnes
# With pnpm
pnpm add -g omnes
# With yarn
yarn global add omnesRecommended: Set an Alias
# Add to your shell config
alias i="omnes install"
alias a="omnes add"
alias r="omnes remove"
alias dev="omnes run dev"
alias build="omnes run build"Commands
| Property | Type | Default | Description |
|---|---|---|---|
omnes install | Command | — | Install all dependencies |
omnes add <pkg> | Command | — | Add a package |
omnes add -D <pkg> | Command | — | Add a dev dependency |
omnes remove <pkg> | Command | — | Remove a package |
omnes run <script> | Command | — | Run a package.json script |
omnes exec <cmd> | Command | — | Execute a command from node_modules/.bin |
omnes dlx <pkg> | Command | — | Download and execute a package |
Command Translation
installinstallinstallinstallinstalladd pkgadd pkginstall pkgadd pkgadd pkgadd -D pkgadd -d pkginstall -D pkgadd -D pkgadd -D pkgremove pkgremove pkguninstall pkgremove pkgremove pkgrun devrun devrun devrun devrun devUsage Examples
Everyday Usage
# Install dependencies (auto-detects package manager)
omnes install
# Add a package
omnes add lenis
# Add dev dependencies
omnes add -D typescript @types/node
# Run scripts
omnes run dev
omnes run build
omnes run test
# Execute binaries
omnes exec tsc --versionIn CI/CD
name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
- name: Install omnes
run: npm install -g omnes
- name: Install dependencies
run: omnes install
- name: Build
run: omnes run build
- name: Test
run: omnes run testDetection Priority
bun.lockb
If present, uses Bun
pnpm-lock.yaml
If present, uses pnpm
yarn.lock
If present, uses Yarn
package-lock.json
If present, uses npm
packageManager field
Falls back to package.json's packageManager
Default: npm
If nothing detected, defaults to npm