Universal package manager script runner – fast, zero‑config, and distributed globally via npm.
Stop trying to remember whether the current repository uses npm, yarn, pnpm,Deno, or bun. Just type star-run dev and let the runner instantly figure it out for you.
- ⚡️ Near‑instant startup – written in Go, boots in ~3–5 ms with zero runtime overhead.
- 🧠 Smart detection – automatically traverses parent directories to identify the correct environment.
- 📡 Signal forwarding – gracefully handles
SIGINT/SIGTERMto safely shut down running scripts. - 📦 Trivial distribution – installs as a standalone static binary natively via npm.
- 🚫 Zero config – works out of the box. No configuration files needed.
- 🔍 Conflict warnings – alerts you when
packageManagerand lockfiles disagree. - 🛡️ Pre-flight checks – fails fast with a clear message if a script doesn't exist.
npm install -g star-run
⚠️ Note: This package is in alpha. The API can and will change without warning.
# Run a script (auto-detects npm / yarn / pnpm / bun/Deno)
star-run dev
# Pass arguments through to the underlying script
star-run build --watch
# Install dependencies
star-run --install
# List all available scripts
star-run --list
# Show which package manager was detected
star-run --detect
# Show version
star-run --version
# Show help
star-run --helpRuns any script defined in package.json. The correct package manager is detected automatically.
star-run test
star-run lint --fix
star-run build --mode=productionWhat happens under the hood:
| Detected PM | Command executed |
|---|---|
| npm | npm run <script> [args...] |
| yarn | yarn <script> [args...] |
| pnpm | pnpm run <script> [args...] |
| bun | bun run <script> [args...] |
| Deno | Deno run <script> [args...] |
Installs dependencies using the detected package manager.
star-run --install
# 📦 Installing dependencies via pnpm...Lists all scripts from package.json in a beautifully formatted table.
star-run --listExample output:
📦 Detected: npm
────────────────────────────────────────
build tsc
dev vite
format prettier --write .
lint eslint .
start node dist/index.js
test jest
If no scripts are defined:
No scripts found in package.json.
Prints the detected package manager without executing anything.
star-run --detect
# npmShows the current version of star-run.
star-run --version
# star-run 0.0.2Shows the full help message with all available commands.
star-run --helpOutput:
star-run — Universal package manager script runner
Usage:
star-run <script> [args...] Run a package.json script
star-run --install Install dependencies
star-run --list List available scripts
star-run --detect Show detected package manager
star-run --version Show version
star-run --help Show this help message
Examples:
star-run dev
star-run build --watch
star-run test --coverage
star-run detects the package manager in the following order:
packageManagerfield inpackage.json(e.g.,"npm@10.0.0") — highest priority.- Lockfiles — checks for
package-lock.json,yarn.lock,pnpm-lock.yaml,bun.lock,deno.json, orbun.lockb. - Directory traversal — walks up parent directories until a match is found.
If the packageManager field conflicts with an existing lockfile (e.g., field says yarn but package-lock.json exists), a warning is printed:
⚠️ packageManager says yarn, but found package-lock.json
| Platform | Architecture | Package |
|---|---|---|
| macOS | x64 | @bidyut26/star-run-darwin-x64 |
| macOS | arm64 | @bidyut26/star-run-darwin-arm64 |
| Linux | x64 | @bidyut26/star-run-linux-x64 |
| Linux | arm64 | @bidyut26/star-run-linux-arm64 |
| Windows | x64 | @bidyut26/star-run-win32-x64 |
# Clone the repository
git clone https://github.com/bidyut18/star-run.git
cd star-run
# Build locally
task build
# Run tests
task test
# Build for all platforms
task build-all
# Package for npm
task package-npmThis project is licensed under the MIT License.
- Logo: Designed using Qwen, incorporating Mount Fuji aesthetics and developer-focused color semantics to reflect the project's speed and universal compatibility.