A smart monorepo package manager installer that makes managing dependencies across workspaces a breeze. Kabob automatically detects your package manager (npm, yarn, or pnpm) and provides an interactive interface for managing dependencies across your monorepo workspaces.
- 🔍 Automatic package manager detection (npm, yarn, pnpm, bun, deno)
- 🎯 Interactive workspace selection
- 📦 Smart internal package management
- 🛠️ Support for development dependencies
- 🔒 Frozen lockfile support
- 🧹 Clean install support
- 💻 Cross-platform compatibility
You can run Kabob directly using npx:
npx kabobOr install it globally:
npm install -g kabob
or npx kabob [args...]Add external packages:
npx kabob add package1 package2 [options]Add internal workspace packages:
npx kabob add --internal # Interactive selection
npx kabob add --internal pkg1 pkg2 # Specific packagesOptions:
-w, --workspace <workspace>: Target specific workspace--internal: Add internal workspace packages-D, --dev: Add as development dependency
Remove external packages:
npx kabob remove package1 package2 [options]Remove internal workspace packages:
npx kabob remove --internal # Interactive selection
npx kabob remove --internal pkg1 pkg2 # Specific packagesOptions:
-w, --workspace <workspace>: Target specific workspace--internal: Remove internal workspace packages
Install dependencies in workspaces:
npx kabob install [options]Options:
-w, --workspace <workspace>: Target specific workspace--clean: Clean install (like npm ci)--frozen: Use frozen lockfile
Update dependencies in workspaces:
npx kabob update [packages...] [options]Options:
-w, --workspace <workspace>: Target specific workspace--latest: Update to latest major versions (includes major version bumps)
If no packages are specified, you will be prompted to select from existing dependencies.
View workspace information:
npx kabob workspace infoKabob provides several commands to manage packages in your monorepo:
# Add the package generator template to your project
npx kabob package template
# List all packages in your monorepo
npx kabob package list
# Delete a package from your monorepo
npx kabob package delete <package-name>- First, add the package generator template to your project:
npx kabob package templateYou'll be prompted to choose a package prefix (e.g., @repo, @workspace) that will be used in your package names.
- Then, create new packages using Turbo's generator:
npx turbo gen runFollow the prompts to configure your new package.
Kabob automatically detects and supports:
- npm
- yarn
- pnpm
Each command is automatically adapted to use the correct syntax for your package manager.
- Add a package to all workspaces:
npx kabob add lodash- Add a development dependency to a specific workspace:
npx kabob add -D jest --workspace ./packages/my-app- Add internal packages interactively:
npx kabob add --internal- Clean install in all workspaces:
npx kabob install --clean- Remove a package from specific workspaces:
npx kabob remove lodash --workspace ./packages/my-app- Update packages to their latest versions:
npx kabob update --latestContributions are welcome! Please feel free to submit a Pull Request.
ISC