
Fortalezca sus configuraciones de gestor de paquetes contra ataques a la cadena de suministro.
```text
_ _
| | ___ _ __ ___ __ _ _ _ __ _ _ __ | |
/
|/ _ \ '_ \/ __|/ _ | | | |/ | '__/ _ |
| (| | __/ |) _ \ (| | || | (| | | | (| |
_,_|_| ./|/_, |_,|_,|| _,|
|| |___/
Guarda tus dependencias contra ataques a la cadena de suministro. **Binario estático único, cero dependencias de crates Rust.**
Por **[[arnica](https://arnica.io?utm_source=depsguard&utm_medium=referral&utm_campaign=community)]**
## Tabla de contenidos
- [Resumen](#overview)
- [Instalación](#install)
- [Uso](#usage)
- [Qué se comprueba](#what-gets-checked)
- [Ubicaciones de los archivos de configuración](#config-file-locations)
- [Corrección de seguridad urgente](#urgent-security-fix)
- [Copias de seguridad y restauración](#backups-and-restore)
- [Cómo funciona](#how-it-works)
- [Solución de problemas](#troubleshooting)
- [Ayuda y comentarios](#help--feedback)
- [Guías](#guides)
- [Ver también](#see-also)
- [Licencia](#license)
## Resumen
DepsGuard busca **npm**, **pnpm**, **yarn**, **bun**, **uv**, **pip**, **poetry**, y **aube** en tu máquina, lee sus archivos de configuración, los compara con configuraciones recomendadas de cadena de suministro, y puede **aplicar correcciones de forma interactiva**. También escanea configuraciones de **Renovate** y **Dependabot** en tus repositorios. Nunca ejecuta instalaciones de paquetes; solo edita archivos de configuración que apruebes, y escribe **copias de seguridad** antes de cualquier cambio.
### Características principales
- TUI interactiva: escanear, revisar, alternar correcciones, aplicar
- Subcomando `scan` para informes de solo lectura
- Subcomando `restore` para elegir una copia de seguridad y revertir un archivo
- Multiplataforma: Linux, macOS, Windows
- Sin crates Rust de terceros incluidos (stdlib + pequeña cantidad de FFI de plataforma para la terminal)
### Stack tecnológico
| Área | Detalles |
|------|---------|
| Idioma | Rust (MSRV **1.74**, ver `Cargo.toml`) |
| CLI / TUI | `src/main.rs`, `src/ui.rs`, `src/term.rs` |
| Lógica de configuración | `src/manager.rs`, `src/fix.rs` |
| Sitio web | Sitio estático en `docs/` (separado del binario) |
## Instalación
### Binarios precompilados
Cada [GitHub Release](https://github.com/arnica/depsguard/releases) incluye archivos para:
- Linux: `x86_64` (glibc), `x86_64` (musl), `aarch64` (glibc)
- macOS: Intel y Apple Silicon
- Windows: `x86_64` ZIP conteniendo `depsguard.exe`
Descarga el archivo para tu plataforma, descomprímelo y coloca el binario en tu `PATH`.
Verifica la integridad usando el archivo `.sha256` correspondiente junto a cada activo en la página de la versión.
### Instalar por plataforma
#### Linux (Debian/Ubuntu mediante APT)```bash
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://depsguard.com/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/depsguard.gpg
echo "deb [arch=amd64,arm64 signed-by=/etc/apt/keyrings/depsguard.gpg] https://depsguard.com/apt stable main" | sudo tee /etc/apt/sources.list.d/depsguard.list >/dev/null
sudo apt update
sudo apt install depsguard
brew install depsguard
DepsGuard está en [homebrew-core](https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/d/depsguard.rb), por lo que no se requiere un tap personalizado.
> **¿Migrando desde el antiguo tap `arnica/depsguard`?** Cambia a la fórmula principal una vez:
>
> ```bash
> brew uninstall depsguard
> brew untap arnica/depsguard
> brew update
> brew install depsguard
> ```
#### Windows```powershell
# WinGet
winget install Arnica.DepsGuard
# Scoop
scoop bucket add depsguard https://github.com/arnica/depsguard
scoop install depsguard
O descárgalo manualmente mediante PowerShell:```powershell $zip = "$env:TEMP\depsguard.zip" Invoke-WebRequest -Uri "https://github.com/arnica/depsguard/releases/latest/download/depsguard-x86_64-pc-windows-msvc.zip" -OutFile $zip Expand-Archive -LiteralPath $zip -DestinationPath "$env:TEMP\depsguard" -Force Copy-Item "$env:TEMP\depsguard\depsguard.exe" "$HOME\AppData\Local\Microsoft\WindowsApps\depsguard.exe" -Force depsguard.exe --help
### crates.io```bash
cargo install depsguard
Requiere un toolchain de Rust con cargo.
Si tu organización distribuye DepsGuard a través de Homebrew, Scoop o WinGet, usa sus instrucciones. Configurar o automatizar esos canales (PRs core de Homebrew, buckets, PRs de WinGet, secretos de CI) es documentación del mantenedor; consulta AGENTS.md en Release & distribution.
| Canal | Linux | macOS | Windows | Comando de instalación |
|---|---|---|---|---|
| APT (repositorio personalizado) | sí | no | no | sudo apt install depsguard (después de configurar el repositorio anterior) |
| crates.io | sí | sí | sí | cargo install depsguard |
| Homebrew (homebrew-core) | sí | sí | no | brew install depsguard |
| Scoop (bucket personalizado) | no | no | sí | scoop bucket add depsguard https://github.com/arnica/depsguard ; scoop install depsguard |
| WinGet | no | no | sí | winget install Arnica.DepsGuard |
Usa el canal con el que instalaste:
| Canal | Comando de actualización |
|---|---|
| Homebrew | brew update && brew upgrade depsguard |
| APT (repositorio personalizado) | sudo apt update && sudo apt install --only-upgrade depsguard |
| crates.io | cargo install --force depsguard (reinstala la última versión) |
| Scoop | scoop update && scoop update depsguard |
| WinGet | winget upgrade Arnica.DepsGuard |
Verifica tu versión instalada en cualquier momento con depsguard --version, y consulta la página de lanzamientos para la versión más reciente.
git clone https://github.com/arnica/depsguard.git cd depsguard cargo build --release
El binario es `target/release/depsguard` (`.exe` en Windows). Se requiere Rust **1.74+**.
## Uso```bash
depsguard # interactive: scan, choose fixes, apply
depsguard scan # report only; no writes (exits 1 if action is needed)
depsguard --no-search # skip recursive file search, check local configs only
depsguard restore # restore from a previous backup
depsguard --help # CLI help