# Package Manager Reference

## Homebrew

### Update workflow
```bash
brew update                    # Update Homebrew itself and formulae list
brew outdated                  # List outdated formulae
brew outdated --cask           # List outdated casks
brew upgrade                   # Upgrade all outdated formulae
brew upgrade <name>            # Upgrade specific formula
brew upgrade --cask            # Upgrade all casks
brew cleanup --prune=0         # Remove all cached downloads
brew autoremove                # Remove orphaned dependencies
brew doctor                    # Diagnose issues
```

### Safety notes
- `brew upgrade` is generally safe but can break projects pinned to specific versions
- Always check `brew doctor` warnings — some are cosmetic, some indicate real issues
- `brew autoremove` only removes packages not depended on by anything

## npm / nvm

### Update workflow
```bash
nvm ls                         # List installed Node versions
nvm install --lts              # Install latest LTS
npm outdated -g                # Check global packages
npm update -g                  # Update all global packages
npm cache clean --force        # Clear npm cache
```

### Safety notes
- Global npm packages are version-independent from project dependencies
- Updating global packages won't affect project-level node_modules

## Python / pyenv

### Update workflow
```bash
pyenv versions                 # List installed versions
pyenv install --list           # Available versions
pip list --outdated            # Outdated packages in current env
pip install --upgrade <pkg>    # Upgrade specific package
pip cache purge                # Clear pip cache
```

### Safety notes
- Only audit pyenv-managed environments (not system Python)
- pip upgrades can break dependency chains — suggest `--dry-run` first
- Virtual environments in project directories are not scanned (out of scope v1)
