
Configure Package Management
- 57 installs
- 49 repo stars
- Updated August 4, 2026
- laurigates/claude-plugins
Helps with ai & agent building tasks.
About
configure-package-management is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- configure-package-management
- AI & Agent Building
- AI-coding skill
Configure Package Management by the numbers
- 57 all-time installs (skills.sh)
- Ranked #6,590 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/laurigates/claude-plugins --skill configure-package-managementAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 57 |
|---|---|
| repo stars | ★ 49 |
| Last updated | August 4, 2026 |
| Repository | laurigates/claude-plugins ↗ |
What it does
Helps with ai & agent building tasks.
Files
/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):
- [ ]
uvinstalled and on PATH - [ ]
pyproject.tomlexists with[project]section - [ ]
uv.lockexists (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):
- [ ]
buninstalled and on PATH - [ ]
package.jsonexists - [ ]
bun.lockbexists (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 performanceIf --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
1. Install uv (via mise, curl, or homebrew) 2. Initialize project with uv init or migrate from existing manager 3. Create/update pyproject.toml with project metadata and dependency groups 4. Generate uv.lock 5. Update .gitignore
JavaScript/TypeScript with bun
1. Install bun (via mise, curl, or homebrew) 2. Remove old lock files (package-lock.json, yarn.lock, pnpm-lock.yaml) 3. Run bun install to generate bun.lockb 4. Update scripts in package.json 5. Update .gitignore
Step 5: Handle migrations
If migrating from a legacy manager:
pip/poetry to uv: 1. Install uv 2. Run uv init 3. Migrate dependencies: uv add -r requirements.txt or copy from poetry 4. Remove old files (requirements.txt, Pipfile, poetry.lock) 5. Update CI/CD workflows
npm/yarn/pnpm to bun: 1. Install bun 2. Remove old lock files and node_modules 3. Run bun install 4. Update scripts to use bun equivalents 5. 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 installwithastral-sh/setup-uv@v8+uv sync - JavaScript: Replace
actions/setup-nodewithoven-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: trueStep 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 bunError 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
Package Management Reference
Configuration templates, migration guides, and CI/CD integration for modern package managers.
Python with uv
Installation
# Via mise (recommended)
mise use uv@latest
# Or via curl
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or via homebrew
brew install uvpyproject.toml Template
[project]
name = "my-project"
version = "0.1.0"
description = "Project description"
readme = "README.md"
requires-python = ">=3.12"
license = { text = "MIT" }
authors = [
{ name = "Your Name", email = "you@example.com" }
]
dependencies = [
# Production dependencies
]
[project.optional-dependencies]
dev = [
"ruff>=0.8.0",
"basedpyright>=1.22.0",
]
test = [
"pytest>=8.0",
"pytest-cov>=6.0",
"pytest-asyncio>=0.24",
]
docs = [
"mkdocs>=1.6",
"mkdocs-material>=9.5",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.uv]
dev-dependencies = [
# Dev dependencies installed with `uv sync`
"ruff>=0.8.0",
"basedpyright>=1.22.0",
"pytest>=8.0",
]
[tool.hatch.build.targets.wheel]
packages = ["src/my_project"]Common uv Commands
# Install dependencies
uv sync
# Add production dependency
uv add httpx
# Add dev dependency
uv add --group dev pytest
# Run script
uv run python script.py
uv run pytest
# Create virtual environment
uv venv
# Pin Python version
uv python pin 3.12
# Update dependencies
uv lock --upgrade
uv syncPython .gitignore Additions
# Python
.venv/
__pycache__/
*.pyc
.pytest_cache/
.ruff_cache/
dist/
*.egg-info/JavaScript/TypeScript with bun
Installation
# Via mise (recommended)
mise use bun@latest
# Or via curl
curl -fsSL https://bun.sh/install | bash
# Or via homebrew
brew install bunpackage.json Template
{
"name": "my-project",
"version": "0.1.0",
"type": "module",
"scripts": {
"dev": "bun run --watch src/index.ts",
"build": "bun build src/index.ts --outdir dist",
"test": "bun test",
"lint": "biome check .",
"lint:fix": "biome check --write .",
"typecheck": "tsc --noEmit"
},
"dependencies": {},
"devDependencies": {
"@biomejs/biome": "^1.9.0",
"@types/bun": "latest",
"typescript": "^5.7.0"
},
"engines": {
"bun": ">=1.1.0"
}
}tsconfig.json Template
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "bundler",
"strict": true,
"skipLibCheck": true,
"noEmit": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"resolveJsonModule": true,
"isolatedModules": true,
"types": ["bun-types"]
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}Common bun Commands
# Install dependencies
bun install
# Add dependency
bun add zod
# Add dev dependency
bun add --dev @types/node
# Run script
bun run dev
bun run build
# Run TypeScript directly
bun src/index.ts
# Run tests
bun test
# Update dependencies
bun updateJavaScript .gitignore Additions
# JavaScript/TypeScript
node_modules/
dist/
.turbo/
*.tsbuildinfoMigration: pip/poetry to uv
Step 1: Install uv
mise use uv@latestStep 2: Initialize uv project
uv initStep 3: Migrate dependencies
From requirements.txt:
uv add -r requirements.txt
rm requirements.txtFrom poetry (pyproject.toml):
# Extract dependencies from [tool.poetry.dependencies]
uv add httpx fastapi pydantic
uv add --group dev pytest ruffStep 4: Remove old files
rm -f requirements.txt requirements-dev.txt
rm -f Pipfile Pipfile.lock
rm -f poetry.lock
# Update pyproject.toml to remove [tool.poetry] sectionStep 5: Update CI/CD
# GitHub Actions
- name: Install uv
uses: astral-sh/setup-uv@v8
- name: Install dependencies
run: uv sync
- name: Run tests
run: uv run pytestMigration: npm/yarn/pnpm to bun
Step 1: Install bun
mise use bun@latestStep 2: Remove old lock files
rm -rf node_modules
rm -f package-lock.json yarn.lock pnpm-lock.yamlStep 3: Install with bun
bun installStep 4: Update scripts
{
"scripts": {
"dev": "bun run --watch src/index.ts",
"build": "bun build src/index.ts --outdir dist",
"test": "bun test"
}
}Step 5: Update CI/CD
# GitHub Actions
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Install dependencies
run: bun install
- name: Run tests
run: bun testCI/CD Integration
GitHub Actions - uv
- name: Install uv
uses: astral-sh/setup-uv@v8
with:
enable-cache: true
- name: Set up Python
run: uv python install
- name: Install dependencies
run: uv sync --all-extras
- name: Run tests
run: uv run pytestGitHub Actions - bun
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run tests
run: bun test