КомандаБезопасность

/pre-commit-check

Проверки перед коммитом: security scan, lint, типы, debug-код. Всё в одной команде.

Закинь в Claude, Cursor или любой AI

Описание

Простым языком

Перед тем как сохранить изменения в историю проекта — хорошо бы убедиться что всё в порядке. Нет паролей в коде, нет отладочных пометок, нет очевидных ошибок. /pre-commit-check делает все эти проверки разом — как чек-лист перед вылетом.

Раньше нужно было помнить про пять разных проверок по отдельности. Теперь одна команда /pre-commit-check — и видишь сразу все проблемы с указанием что именно исправить.


Что делает

/pre-commit-check запускает полный набор проверок staged изменений перед коммитом: security scan, lint, typecheck, поиск debug-кода, проверка форматирования. Одна команда заменяет пять. Результат: "готово к коммиту" или структурированный список проблем с severity.

Синтаксис

# Проверка staged изменений
/pre-commit-check

# Без аргументов. Анализирует git diff --staged.

Пошаговый процесс

  1. Получает список staged файлов через git diff --staged --name-only
  2. Security: grep по паттернам (API_KEY=, sk-, ghp_, PASSWORD=, хардкод секретов)
  3. Lint: ESLint (JS/TS) или ruff check (Python) — только на staged файлы
  4. Typecheck: tsc --noEmit или pyright — только на staged файлы
  5. Debug-код: console.log, debugger, print(), breakpoint()
  6. Format: prettier --check — без изменений, только проверка
  7. Показывает итог: готово / список проблем с Critical/Major/Minor

Примеры использования

Чистый результат

Написали фичу аккуратно — все проверки проходят. Видите чёткое "готово к коммиту".

/pre-commit-check

Staged файлов: 4
  src/api/frameworks/route.ts
  src/app/framework/page.tsx
  src/lib/data.ts
  src/types/index.ts

Security scan    OK — секретов не найдено
ESLint           OK — 0 ошибок, 0 предупреждений
TypeScript       OK — 0 ошибок типов
Debug-код        OK — console.log не найдено
Форматирование   OK — всё отформатировано

Готово к коммиту.

Проблемы найдены

Второпях оставили console.log и один тип с any. /pre-commit-check покажет точно что нужно исправить.

/pre-commit-check

Security scan    OK
ESLint           OK

TypeScript       FAIL
  [Major] src/api/frameworks/route.ts:67
    Argument of type 'any' not assignable to 'FrameworkData'
    → заменить any на правильный тип

Debug-код        WARN
  [Minor] src/lib/data.ts:34
    console.log('frameworks:', result)
    → удалить или /cleanup

Форматирование   OK

Не готово к коммиту. Исправьте Critical/Major.

Автоматизация

Integrate в git pre-commit hook — тогда проверки запускаются автоматически при каждом git commit. Если что-то нашлось — коммит блокируется до исправления.

# .git/hooks/pre-commit (установка):
#!/bin/sh
# Запуск через Claude Code hooks (альтернатива):
# .claude/settings.json:
{
  "hooks": {
    "PreToolUse": [{
      "matcher": "Bash",
      "hooks": ["bash ~/.claude/hooks/pre-commit-check.sh"]
    }]
  }
}

# Хук проверяет git commit команды
# и запускает security scan автоматически
Проверка перед коммитом — это фильтр. В репозиторий попадает только то, что точно нормально.
#Commands#Claude Code#Quality Gates
TG

> Пока нет комментариев

Связанный контент

Похожие инструменты