# pkgdiet

Перехватывает команды установки пакетов, которые предлагает ИИ-агент, и не даёт поставить вредный или устаревший пакет.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 5
- Автор: om-tajne
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/om-tajne/pkgdiet
- Обновлён: 2026-10-06
- HTML: https://affpapa.org/nevibecode/mcp/pkgdiet

## Что делает

Агенты вроде Claude и Cursor иногда предлагают пакеты, которых не существует, или те, что заброшены и содержат уязвимости. pkgdiet встаёт между агентом и командой `npm install`: хук `PreToolUse` перехватывает вызов до запуска, и если пакет не проходит политику, установка отменяется.

Настройка идёт одной командой `npx pkgdiet init`. Она создаёт `.pkgdietrc.json` с политикой репозитория, хуки для Claude и Codex, файлы MCP для Cursor, Cline и GitHub Copilot, а заодно workflow для GitHub Actions. Правила задаются в одном файле, и все интерфейсы читают их через общее ядро `@pkgdiet/core`.

Для Claude MCP-сервер ставится отдельно: `claude mcp add pkgdiet -- npx -y pkgdiet`. Нужен Node.js 20 или новее. Если агент не поддерживает хуки, pkgdiet работает только как советчик: он подскажет агенту не писать команду, но не остановит её сам.

## Требования
- Нужно: Node.js (команды через npx)

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add pkgdiet -- npx -y pkgdiet
```

### Codex

**Командой платформы**
```bash
codex mcp add pkgdiet -- npx -y pkgdiet
```

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "pkgdiet": {
            "command": "npx",
            "args": [
                "-y",
                "pkgdiet"
            ]
        }
    }
}
```

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "pkgdiet": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "pkgdiet"
            ]
        }
    }
}
```

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add pkgdiet npx -y pkgdiet
```

## Когда брать
- остановить установку пакета с известной уязвимостью до того, как он попадёт в проект
- найти неиспользуемые зависимости в существующем `package.json`
- задать единую политику зависимостей для команды
- проверить новые пакеты в пул-реквесте через CI
- подсказать агенту более лёгкую замену тяжёлой библиотеке

## Примеры запросов агенту
- Проверь зависимости в проекте и покажи, что можно удалить
- Прежде чем ставить `request`, проверь его через pkgdiet
- Настрой pkgdiet для этого репозитория

## Похожие
- [dependency-auditor](https://affpapa.org/nevibecode/skills/onewave-ai-dependency-auditor.md) — скилл · 302 установки
- [dependency-checker](https://affpapa.org/nevibecode/hooks/dependency-checker.md) — хук · 2314 установок
- [dependencies-audit](https://affpapa.org/nevibecode/skills/dependencies-audit.md) — скилл · 1900 установок
- [dependency-check](https://affpapa.org/nevibecode/skills/dependency-check.md) — скилл · 748 установок
- [dependency-scan](https://affpapa.org/nevibecode/skills/dependency-scan.md) — скилл · 355 установок
- [npm-check-updates](https://affpapa.org/nevibecode/skills/npm-check-updates.md) — скилл · 426 установок

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
