Documentation
PacketNinja wraps your package manager commands in a controlled, local environment. No workflow changes required.
Installation
No installation required. Use npx to run PacketNinja directly:
terminal
npx package-ninja devFirst Run
PacketNinja automatically detects your package manager and starts a local registry:
terminal
$ npx package-ninja dev
[session] Starting local registry on 127.0.0.1:4873
[session] Detected package manager: npm
✓ Installed 42 packages in 1.2s
✓ Running dev script
Ready http://localhost:3000Commands
npx package-ninja devStart dev server with controlled sessionnpx package-ninja installInstall dependencies through local registrynpx package-ninja testRun tests in isolated environmentnpx package-ninja publishPublish with safety checksnpx package-ninja startCreate persistent sessionnpx package-ninja stopStop and clean up sessionCLI Flags
--cwd <path>Target project directory--pm <npm|pnpm|yarn>Override package manager detection--port <number>Preferred local registry port--persistentKeep a reusable local session--offlineDisable npmjs uplink--installForce install before devSession Control
Ephemeral sessions clean up automatically. Persistent sessions stay alive for repeated commands:
terminal
# Persistent session
npx package-ninja start
npx package-ninja run -- npm install
npx package-ninja run -- npm test
npx package-ninja stopPublish Safety
PacketNinja blocks publishes when publishConfig.registry points to a non-local registry:
⚠
Publish Blocked
Target registry is not local. Use --force to override.
Need help? Open an issue on GitHub