Claude Code в действии

Реальные сценарии: рефакторинг, генерация тестов, работа с большими репозиториями.

22 уроков, первые 3 бесплатно. Полный доступ: 1490 руб.

Уроки курса

  1. Introduction
  2. What is a coding assistant?
  3. Claude Code in action
  4. Claude Code setup
  5. Project setup
  6. Adding context
  7. Making changes
  8. Course satisfaction survey
  9. Controlling context
  10. Custom commands
  11. MCP servers with Claude Code
  12. Github integration
  13. Introducing hooks
  14. Defining hooks
  15. Implementing a hook
  16. Gotchas around hooks
  17. Useful hooks!
  18. Another useful hook
  19. The Claude Code SDK
  20. Quiz on Claude Code
  21. Summary and next steps
  22. What you'll learn

Gotchas around hooks

Возможно, вы заметили, что после выполнения команды npm run dev в директории .claude появляются два файла settings.json. Давайте разберемся, почему.

Рекомендации по безопасности хуков

Документация Claude Code содержит несколько рекомендаций по безопасности хуков:

Одна из них — использование абсолютных путей (а не относительных) для скриптов. Это помогает снизить риски атак, связанных с перехватом путей и внедрением бинарных файлов.

Эта рекомендация значительно усложняет совместное использование файлов settings.json. Причина проста: абсолютный путь к скриптам хуков на вашей машине, скорее всего, будет отличаться от пути на моей, поскольку мы, вероятно, разместим проект в разных директориях.

Решение проблемы с абсолютными путями

Для решения этой проблемы в проекте предусмотрен файл settings.example.json. В нем ссылки на скрипты содержат заполнитель $PWD.

При запуске команды npm run setup устанавливаются зависимости и выполняется скрипт init-claude.js из директории `scripts`. Этот скрипт заменяет заполнитель $PWD абсолютным путем к проекту на вашей машине, копирует файл settings.example.json и переименовывает его в settings.local.json.

Таким образом, этот скрипт позволяет обмениваться файлами settings.json, сохраняя при этом использование рекомендованных абсолютных путей.