dependency-checker — хук для Claude Code: проверка зависимостей
Хук на PostToolUse: после правки файла зависимостей запускает аудит пакетов и показывает, что устарело или уязвимо.
npx claude-code-templates@latest --hook automation/dependency-checkerЧто делает dependency-checker
Хук срабатывает на событие PostToolUse с матчером Edit. Если изменённый файл — package.json, requirements.txt, Cargo.toml, pom.xml или Gemfile, в консоль уходит строка с путём к нему. Дальше для package.json при наличии npm выполняются npm audit и npx npm-check-updates.
Для requirements.txt вызывается safety check -r по этому файлу, но только если в системе есть safety. Для Cargo.toml — cargo audit, если установлен cargo. Все команды идут с подавлением вывода ошибок и || true, поэтому хук не роняет сессию, даже когда аудит находит проблемы.
pom.xml и Gemfile только отмечаются как изменённые: проверок для них в команде нет. Это повод не ждать от хука разбора Maven и Bundler. Установка кладёт конфигурацию в .claude/settings.json, так что перед запуском стоит убедиться, что файл уже есть и вы не перезапишете чужие настройки.
Какие задачи решает
- узнать об уязвимостях в пакетах сразу после правки манифеста
- посмотреть, какие зависимости устарели
- проверить
requirements.txtчерезsafety - прогнать
cargo auditпосле измененияCargo.toml - заметить, что файл зависимостей был изменён
Примеры запросов агенту
- я поправил package.json, проверь зависимости
- обновил requirements.txt — прогони аудит
- что устарело в моём package.json?
Как установить dependency-checker
1Через claude-code-templates
npx claude-code-templates@latest --hook automation/dependency-checker2Вручную: положить файлы
.claude/settings.jsonБлок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json
По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду
Вопросы о dependency-checker
Как установить dependency-checker в Claude?
Выполните npx claude-code-templates@latest --hook automation/dependency-checker. Конфигурация хука окажется в .claude/settings.json.
Что делает dependency-checker?
Следит за правками файлов зависимостей и запускает аудит: npm audit и npx npm-check-updates для package.json, safety check -r для requirements.txt, cargo audit для Cargo.toml.
Какие инструменты нужны для работы хука?
npm для проверки package.json, safety для requirements.txt, cargo для Cargo.toml. Если инструмента нет, соответствующая проверка просто не запустится.
Исходный текст
dependency-checker.json · MIT
{
"description": "Advanced dependency analysis and security checking. Monitors for outdated packages, security vulnerabilities, and license compatibility.",
"hooks": {
"PostToolUse": [
{
"matcher": "Edit",
"hooks": [
{
"type": "command",
"command": "if [[ \"$CLAUDE_TOOL_FILE_PATH\" == *package.json || \"$CLAUDE_TOOL_FILE_PATH\" == *requirements.txt || \"$CLAUDE_TOOL_FILE_PATH\" == *Cargo.toml || \"$CLAUDE_TOOL_FILE_PATH\" == *pom.xml || \"$CLAUDE_TOOL_FILE_PATH\" == *Gemfile ]]; then echo \"Dependency file modified: $CLAUDE_TOOL_FILE_PATH\"; if [[ \"$CLAUDE_TOOL_FILE_PATH\" == *package.json ]] && command -v npm >/dev/null 2>&1; then npm audit 2>/dev/null || true; npx npm-check-updates 2>/dev/null || true; elif [[ \"$CLAUDE_TOOL_FILE_PATH\" == *requirements.txt ]] && command -v safety >/dev/null 2>&1; then safety check -r \"$CLAUDE_TOOL_FILE_PATH\" 2>/dev/null || true; elif [[ \"$CLAUDE_TOOL_FILE_PATH\" == *Cargo.toml ]] && command -v cargo >/dev/null 2>&1; then cargo audit 2>/dev/null || true; fi; fi"
}
]
}
]
}
}
© davila7 · MIT · davila7/claude-code-templates