/configure:package-management
Check and configure modern package managers for optimal development experience.
When to Use This Skill
Use this skill when... Use another approach when...
Setting up a new project with modern package managers (uv, bun) Installing a single dependency — run uv add or bun add directly
Migrating from legacy package managers (pip, npm, yarn, poetry) to modern ones Project uses cargo or go mod (already optimal, no migration needed)
Auditing package manager configuration for best practices Configuring linting or formatting tools — use /configure:linting
Ensuring lock files, dependency groups, and CI/CD integration are properly configured Resolving a specific dependency conflict — debug with uv pip compile or bun install --verbose
Detecting and cleaning up conflicting lock files from multiple managers Only need to install dependencies — run uv sync or bun install directly
Context
-
Project root: !pwd
-
Package files: !find . -maxdepth 1 ( -name 'package.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' -o -name 'go.mod' )
-
Lock files: !find . -maxdepth 1 ( -name 'uv.lock' -o -name 'bun.lockb' -o -name 'package-lock.json' -o -name 'yarn.lock' -o -name 'pnpm-lock.yaml' -o -name 'poetry.lock' -o -name 'Pipfile.lock' )
-
Python venv: !find . -maxdepth 1 -type d -name '.venv'
-
Legacy files: !find . -maxdepth 1 ( -name 'requirements.txt' -o -name 'Pipfile' )
-
Project standards: !find . -maxdepth 1 -name '.project-standards.yaml'
Parameters
Parse from command arguments:
-
--check-only : Report compliance status without modifications (CI/CD mode)
-
--fix : Apply fixes automatically without prompting
-
--manager <uv|bun|npm|cargo> : Override detection (focus on specific manager)
Modern package manager preferences:
-
Python: uv (replaces pip, poetry, pipenv, pyenv) - 10-100x faster
-
JavaScript/TypeScript: bun (alternative to npm/yarn/pnpm) - significantly faster
-
Rust: cargo (standard, no alternatives needed)
-
Go: go mod (standard, no alternatives needed)
Execution
Execute this package management compliance check:
Step 1: Detect project languages and current package managers
Check for language and manager indicators:
Indicator Language Current Manager Recommended
pyproject.toml
Python uv / poetry / pip uv
requirements.txt
Python pip uv
Pipfile
Python pipenv uv
poetry.lock
Python poetry uv
uv.lock
Python uv uv
package.json
- bun.lockb
JavaScript/TypeScript bun bun
package.json
- package-lock.json
JavaScript/TypeScript npm bun
package.json
- yarn.lock
JavaScript/TypeScript yarn bun
package.json
- pnpm-lock.yaml
JavaScript/TypeScript pnpm bun
Cargo.toml
Rust cargo cargo
go.mod
Go go mod go mod
Use WebSearch or WebFetch to verify latest versions before configuring.
Step 2: Analyze current configuration state
For each detected language, check configuration:
Python (uv):
-
uv installed and on PATH
-
pyproject.toml exists with [project] section
-
uv.lock exists (lock file)
-
Virtual environment in .venv/
-
Python version pinned in pyproject.toml
-
Dependency groups configured (dev, test, docs)
-
Build system specified (hatchling , setuptools , etc.)
JavaScript/TypeScript (bun):
-
bun installed and on PATH
-
package.json exists
-
bun.lockb exists (lock file)
-
node_modules/ exists
-
Scripts defined (dev , build , test , lint )
-
Type definitions configured (TypeScript)
-
Workspaces configured (if monorepo)
Step 3: Generate compliance report
Print a formatted compliance report:
Package Management Configuration Report
Project: [name] Languages: Python, TypeScript
Python: Package manager uv 0.5.x [MODERN | LEGACY pip] pyproject.toml exists [EXISTS | MISSING] Lock file uv.lock [EXISTS | OUTDATED | MISSING] Virtual environment .venv/ [EXISTS | MISSING] Python version 3.12 [PINNED | NOT PINNED] Dependency groups dev, test, docs [CONFIGURED | MINIMAL] Build backend hatchling [CONFIGURED | MISSING]
JavaScript/TypeScript: Package manager bun 1.1.x [MODERN | npm | yarn] package.json exists [EXISTS | MISSING] Lock file bun.lockb [EXISTS | MISSING] Scripts dev, build, test, lint [COMPLETE | INCOMPLETE] Type definitions tsconfig.json [CONFIGURED | MISSING] Engine constraints package.json engines [PINNED | NOT PINNED]
Overall: [X issues found]
Recommendations:
- Migrate from pip to uv for faster installs
- Add uv.lock to version control
- Configure dependency groups in pyproject.toml
- Migrate from npm to bun for better performance
If --check-only , stop here.
Step 4: Configure package managers (if --fix or user confirms)
Apply configuration based on detected languages. Use templates from REFERENCE.md:
Python with uv
-
Install uv (via mise, curl, or homebrew)
-
Initialize project with uv init or migrate from existing manager
-
Create/update pyproject.toml with project metadata and dependency groups
-
Generate uv.lock
-
Update .gitignore
JavaScript/TypeScript with bun
-
Install bun (via mise, curl, or homebrew)
-
Remove old lock files (package-lock.json , yarn.lock , pnpm-lock.yaml )
-
Run bun install to generate bun.lockb
-
Update scripts in package.json
-
Update .gitignore
Step 5: Handle migrations
If migrating from a legacy manager:
pip/poetry to uv:
-
Install uv
-
Run uv init
-
Migrate dependencies: uv add -r requirements.txt or copy from poetry
-
Remove old files (requirements.txt , Pipfile , poetry.lock )
-
Update CI/CD workflows
npm/yarn/pnpm to bun:
-
Install bun
-
Remove old lock files and node_modules
-
Run bun install
-
Update scripts to use bun equivalents
-
Update CI/CD workflows
Use migration templates from REFERENCE.md.
Step 6: Configure CI/CD integration
Update GitHub Actions workflows to use modern package managers:
- Python: Replace pip install with astral-sh/setup-uv@v4
- uv sync
- JavaScript: Replace actions/setup-node with oven-sh/setup-bun@v2
Use CI workflow templates from REFERENCE.md.
Step 7: Update standards tracking
Update .project-standards.yaml :
standards_version: "2025.1" last_configured: "[timestamp]" components: package_management: "2025.1" python_package_manager: "uv" javascript_package_manager: "bun" lock_files_committed: true
Step 8: Print final report
Print a summary of changes applied, migrations performed, and next steps for verifying the configuration.
For detailed configuration templates and migration guides, see REFERENCE.md.
Agentic Optimizations
Context Command
Quick compliance check /configure:package-management --check-only
Auto-fix all issues /configure:package-management --fix
Check uv version uv --version
Check bun version bun --version
List Python deps uv pip list --format json
List JS deps bun pm ls --json
Flags
Flag Description
--check-only
Report status without offering migrations
--fix
Apply all migrations automatically without prompting
--manager <manager>
Override detection (uv, bun, npm, cargo)
Examples
Check compliance and offer migrations
/configure:package-management
Check only, no modifications
/configure:package-management --check-only
Auto-migrate Python to uv
/configure:package-management --fix --manager uv
Auto-migrate JavaScript to bun
/configure:package-management --fix --manager bun
Error Handling
-
Multiple Python managers detected: Warn about conflict, suggest single source of truth
-
Missing package manager: Offer to install via mise
-
Invalid pyproject.toml: Report parse error, offer template
-
Lock file conflicts: Warn about multiple lock files, suggest cleanup
-
Workspace/monorepo: Detect and configure workspace settings
See Also
-
/configure:linting
-
Configure linting tools (ruff, biome)
-
/configure:formatting
-
Configure formatters
-
/deps:install
-
Universal dependency installer
-
/configure:all
-
Run all compliance checks
-
uv documentation: https://docs.astral.sh/uv
-
bun documentation: https://bun.sh/docs