Skip to content
Back to skills

Dependency Updater

BSecurity

Gerenciamento inteligente de dependências para qualquer linguagem. Auto-detecção de tipo de projeto, aplicação de atualizações seguras automaticamente, solicitação de confirmação para versões principais, diagnóstico e correção de problemas de dependências.

  • 11 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 8, 2026
developmentpythonrustgojavarubykotlinbashreactnodegit

Security analysis

B85/100
  • highPerforms destructive filesystem operations
  • mediumInstalls packages at runtime which could introduce malicious dependencies
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 4 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add artubss/SKILLS-CLAUDE-CODE --skill dependency-updater --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dependency Updater?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dependency Updater
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/artubss-dependency-updater/badge)](https://www.skillsdirectory.com/skills/artubss-dependency-updater)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: dependency-updater
description: Gerenciamento inteligente de dependências para qualquer linguagem. Auto-detecção de tipo de projeto, aplicação de atualizações seguras automaticamente, solicitação de confirmação para versões principais, diagnóstico e correção de problemas de dependências.
license: MIT
metadata:
  version: 1.0.0
---

# Atualizador de Dependências

Gerenciamento inteligente de dependências para qualquer linguagem com detecção automática e atualizações seguras.

---

## Início Rápido

```
update my dependencies
```

O skill detecta automaticamente o tipo de projeto e cuida do resto.

---

## Acionadores

| Acionador | Exemplo |
|---------|---------|
| Atualizar dependências | "update dependencies", "update deps" |
| Verificar desatualizados | "check for outdated packages" |
| Corrigir problemas de dependências | "fix my dependency problems" |
| Auditoria de segurança | "audit dependencies for vulnerabilities" |
| Diagnosticar deps | "diagnose dependency issues" |

---

## Linguagens Suportadas

| Linguagem | Arquivo de Pacote | Ferramenta de Atualização | Ferramenta de Auditoria |
|----------|--------------|-------------|------------|
| **Node.js** | package.json | `taze` | `npm audit` |
| **Python** | requirements.txt, pyproject.toml | `pip-review` | `safety`, `pip-audit` |
| **Go** | go.mod | `go get -u` | `govulncheck` |
| **Rust** | Cargo.toml | `cargo update` | `cargo audit` |
| **Ruby** | Gemfile | `bundle update` | `bundle audit` |
| **Java** | pom.xml, build.gradle | `mvn versions:*` | `mvn dependency:*` |
| **.NET** | *.csproj | `dotnet outdated` | `dotnet list package --vulnerable` |

---

## Referência Rápida

| Tipo de Atualização | Mudança de Versão | Ação |
|-------------|----------------|--------|
| **Fixo** | Sem `^` ou `~` | Pular (intencionalmente fixado) |
| **PATCH** | `x.y.z` → `x.y.Z` | Aplicar automaticamente |
| **MINOR** | `x.y.z` → `x.Y.0` | Aplicar automaticamente |
| **MAJOR** | `x.y.z` → `X.0.0` | Solicitar confirmação individual do usuário |

---

## Fluxo de Trabalho

```
Solicitação do Usuário
    │
    ▼
┌─────────────────────────────────────────────────────┐
│ Etapa 1: DETECTAR TIPO DE PROJETO                   │
│ • Verificar arquivos de pacote (package.json, go.mod...) │
│ • Identificar gerenciador de pacotes                │
├─────────────────────────────────────────────────────┤
│ Etapa 2: VERIFICAR PRÉ-REQUISITOS                   │
│ • Validar que ferramentas obrigatórias estão instaladas │
│ • Sugerir instalação se faltarem                    │
├─────────────────────────────────────────────────────┤
│ Etapa 3: PROCURAR POR ATUALIZAÇÕES                  │
│ • Executar verificação específica da linguagem      │
│ • Categorizar: MAJOR / MINOR / PATCH / Fixo        │
├─────────────────────────────────────────────────────┤
│ Etapa 4: APLICAR ATUALIZAÇÕES SEGURAS               │
│ • Aplicar MINOR e PATCH automaticamente             │
│ • Relatar o que foi atualizado                      │
├─────────────────────────────────────────────────────┤
│ Etapa 5: SOLICITAR ATUALIZAÇÕES PRINCIPAIS          │
│ • Fazer pergunta ao usuário para cada atualização MAJOR │
│ • Mostrar versão atual → nova versão                │
├─────────────────────────────────────────────────────┤
│ Etapa 6: APLICAR PRINCIPAIS APROVADAS               │
│ • Atualizar apenas pacotes aprovados                │
├─────────────────────────────────────────────────────┤
│ Etapa 7: FINALIZAR                                  │
│ • Executar comando de instalação                    │
│ • Executar auditoria de segurança                   │
└─────────────────────────────────────────────────────┘
```

---

## Comandos por Linguagem

### Node.js (npm/yarn/pnpm)

```bash
# Verificar pré-requisitos
scripts/check-tool.sh taze "npm install -g taze"

# Procurar por atualizações
taze

# Aplicar minor/patch
taze minor --write

# Aplicar majors específicos
taze major --write --include pkg1,pkg2

# Suporte a monorepo
taze -r  # recursive

# Segurança
npm audit
npm audit fix
```

### Python

```bash
# Verificar desatualizados
pip list --outdated

# Atualizar tudo (cuidado!)
pip-review --auto

# Atualizar específico
pip install --upgrade package-name

# Segurança
pip-audit
safety check
```

### Go

```bash
# Verificar desatualizados
go list -m -u all

# Atualizar tudo
go get -u ./...

# Arrumar
go mod tidy

# Segurança
govulncheck ./...
```

### Rust

```bash
# Verificar desatualizados
cargo outdated

# Atualizar dentro de semver
cargo update

# Segurança
cargo audit
```

### Ruby

```bash
# Verificar desatualizados
bundle outdated

# Atualizar tudo
bundle update

# Atualizar específico
bundle update --conservative gem-name

# Segurança
bundle audit
```

### Java (Maven)

```bash
# Verificar desatualizados
mvn versions:display-dependency-updates

# Atualizar para a mais recente
mvn versions:use-latest-releases

# Segurança
mvn dependency:tree
mvn dependency-check:check
```

### .NET

```bash
# Verificar desatualizados
dotnet list package --outdated

# Atualizar específico
dotnet add package PackageName

# Segurança
dotnet list package --vulnerable
```

---

## Modo Diagnóstico

Quando as dependências quebram, execute o diagnóstico:

### Problemas Comuns e Soluções

| Problema | Sintomas | Solução |
|-------|----------|-----|
| **Conflito de Versão** | "Cannot resolve dependency tree" | Limpeza completa, usar overrides/resolutions |
| **Peer Dependency** | "Peer dependency not satisfied" | Instalar versão requerida de peer dependency |
| **Vulnerabilidade de Segurança** | `npm audit` mostra problemas | `npm audit fix` ou atualização manual |
| **Deps Não Utilizadas** | Bundle inchado | Executar `depcheck` (Node) ou equivalente |
| **Deps Duplicadas** | Múltiplas versões instaladas | Executar `npm dedupe` ou equivalente |

### Correções de Emergência

```bash
# Node.js - Reset completo
rm -rf node_modules package-lock.json
npm cache clean --force
npm install

# Python - Limpar virtualenv
rm -rf venv
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Go - Resetar módulos
rm go.sum
go mod tidy
```

---

## Auditoria de Segurança

Execute verificações de segurança para qualquer projeto:

```bash
# Node.js
npm audit
npm audit --json | jq '.metadata.vulnerabilities'

# Python
pip-audit
safety check

# Go
govulncheck ./...

# Rust
cargo audit

# Ruby
bundle audit

# .NET
dotnet list package --vulnerable
```

### Resposta por Severidade

| Severidade | Ação |
|----------|--------|
| **Crítica** | Corrigir imediatamente |
| **Alta** | Corrigir em 24h |
| **Moderada** | Corrigir em 1 semana |
| **Baixa** | Corrigir na próxima release |

---

## Anti-padrões

| Evitar | Por Quê | No Lugar Disso |
|-------|-----|---------|
| Atualizar versões fixas | Intencionalmente fixadas | Pular |
| Auto-aplicar MAJOR | Mudanças quebradoras | Solicitar ao usuário |
| Agrupar prompts de MAJOR | Perder contexto | Solicitar individualmente |
| Pular arquivo de lock | Builds não reproduzíveis | Sempre fazer commit do arquivo de lock |
| Ignorar alertas de segurança | Vulnerabilidades | Endereçar por severidade |

---

## Checklist de Verificação

Após atualizações:

- [ ] Atualizações verificadas sem erros
- [ ] MINOR/PATCH auto-aplicadas
- [ ] Atualizações MAJOR solicitadas individualmente
- [ ] Versões fixas intactas
- [ ] Arquivo de lock atualizado
- [ ] Comando de instalação executado
- [ ] Auditoria de segurança passou (ou problemas foram observados)

---

<details>
<summary><strong>Aprofundamento: Detecção de Projeto</strong></summary>

O skill detecta automaticamente o tipo de projeto verificando arquivos de pacote:

| Arquivo Encontrado | Linguagem | Gerenciador de Pacotes |
|------------|----------|-----------------|
| `package.json` | Node.js | npm/yarn/pnpm |
| `requirements.txt` | Python | pip |
| `pyproject.toml` | Python | pip/poetry |
| `Pipfile` | Python | pipenv |
| `go.mod` | Go | go modules |
| `Cargo.toml` | Rust | cargo |
| `Gemfile` | Ruby | bundler |
| `pom.xml` | Java | Maven |
| `build.gradle` | Java/Kotlin | Gradle |
| `*.csproj` | .NET | dotnet |

**A ordem de detecção importa para monorepos:**
1. Verificar diretório atual primeiro
2. Depois verificar padrões de workspace/monorepo
3. Oferecer executar recursivamente se aplicável

</details>

<details>
<summary><strong>Aprofundamento: Node.js com taze</strong></summary>

### Pré-requisitos

```bash
# Instalar taze globalmente (recomendado)
npm install -g taze

# Ou usar npx
npx taze
```

### Fluxo de Atualização Inteligente

```bash
# 1. Verificar todas as atualizações
taze

# 2. Aplicar atualizações seguras (minor + patch)
taze minor --write

# 3. Para cada major, solicitar ao usuário:
#    "Update @types/node from ^20.0.0 to ^22.0.0?"
#    Se sim, adicionar à lista aprovada

# 4. Aplicar majors aprovadas
taze major --write --include approved-pkg1,approved-pkg2

# 5. Instalar
npm install  # or pnpm install / yarn
```

### Lista de Auto-Aprovação

Alguns pacotes têm bumps de major frequentes mas são retrocompatíveis:

| Pacote | Motivo |
|---------|--------|
| `lucide-react` | Biblioteca de ícones, majors são aditivos |
| `@types/*` | Definições de tipos, geralmente seguras |

</details>

<details>
<summary><strong>Aprofundamento: Estratégias de Versionamento</strong></summary>

### Semantic Versioning

```
MAJOR.MINOR.PATCH (ex: 2.3.1)

MAJOR: Mudanças quebradoras - requer alterações de código
MINOR: Novas funcionalidades - retrocompatível
PATCH: Correções de bug - retrocompatível
```

### Especificadores de Intervalo

| Especificador | Significado | Exemplo |
|-----------|---------|---------|
| `^1.2.3` | Minor + Patch OK | `>=1.2.3 <2.0.0` |
| `~1.2.3` | Apenas Patch | `>=1.2.3 <1.3.0` |
| `1.2.3` | Exato (fixo) | Apenas `1.2.3` |
| `>=1.2.3` | Pelo menos | Qualquer `>=1.2.3` |
| `*` | Qualquer | Mais recente (perigoso) |

### Estratégia Recomendada

```json
{
  "dependencies": {
    "critical-lib": "1.2.3",      // Exato para crítico
    "stable-lib": "~1.2.3",       // Apenas patch para estável
    "modern-lib": "^1.2.3"        // Minor OK para ativo
  }
}
```

</details>

<details>
<summary><strong>Aprofundamento: Resolução de Conflitos</strong></summary>

### Conflitos do Node.js

**Diagnóstico:**
```bash
npm ls package-name      // Ver árvore de dependências
npm explain package-name // Por que foi instalado
yarn why package-name    // Equivalente Yarn
```

**Resolução com overrides:**
```json
// package.json
{
  "overrides": {
    "lodash": "^4.18.0"
  }
}
```

**Resolução com resolutions (Yarn):**
```json
{
  "resolutions": {
    "lodash": "^4.18.0"
  }
}
```

### Conflitos do Python

**Diagnóstico:**
```bash
pip check
pipdeptree -p package-name
```

**Resolução:**
```bash
# Usar ambiente virtual
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Ou usar constraints
pip install -c constraints.txt -r requirements.txt
```

</details>

---

## Referência de Script

| Script | Finalidade |
|--------|---------|
| `scripts/check-tool.sh` | Validar se ferramenta está instalada |
| `scripts/run-taze.sh` | Executar taze com flags apropriadas |

---

## Ferramentas Relacionadas

| Ferramenta | Linguagem | Finalidade |
|------|----------|---------|
| [taze](https://github.com/antfu-collective/taze) | Node.js | Atualizações inteligentes de dependências |
| [npm-check-updates](https://github.com/raineorshine/npm-check-updates) | Node.js | Alternativa ao taze |
| [pip-review](https://github.com/jgonggrijp/pip-review) | Python | Atualizações interativas de pip |
| [cargo-edit](https://github.com/killercup/cargo-edit) | Rust | Gerenciamento de dependências Cargo |
| [bundler-audit](https://github.com/rubysec/bundler-audit) | Ruby | Auditoria de segurança |

Files in this skill

  • README.md8.2 KB
  • SKILL.md12.7 KB
  • scripts/check-tool.sh520 B
  • scripts/run-taze.sh638 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…