Claude Code In Action
← सभी पाठ
पाठ 18Claude Code In Action

Another useful hook

सारांश ऑडियो

इस पाठ के लिए कोई ऑडियो सारांश नहीं है।

अध्ययन नोट्स

Claude Code Hooks: मुख्य अवधारणाएँ

  • उपलब्ध हुक (Hooks): PreToolUse और PostToolUse के अलावा कई अन्य हुक मौजूद हैं:
  • Notification: जब Claude Code को टूल का उपयोग करने की अनुमति चाहिए या 60 सेकंड तक निष्क्रिय रहता है, तब चलता है।
  • Stop: जब Claude Code प्रतिक्रिया देना समाप्त कर लेता है, तब चलता है।
  • SubagentStop: जब कोई सबएजेंट (UI में "Task" के रूप में प्रदर्शित) समाप्त होता है, तब चलता है।
  • PreCompact: जब कोई कॉम्पैक्ट ऑपरेशन (मैनुअल या स्वचालित) होने वाला होता है, उससे पहले चलता है।
  • UserPromptSubmit: जब उपयोगकर्ता प्रॉम्प्ट सबमिट करता है, इससे पहले चलता है।
  • SessionStart/SessionEnd: सत्र (session) शुरू होने या समाप्त होने पर चलता है।
  • इनपुट में परिवर्तन (Input Variation):
  • आपके कमांड को मिलने वाला stdin इनपुट हुक के प्रकार (जैसे PreToolUse, Stop, Notification) के आधार पर बदलता है।
  • PreToolUse और PostToolUse हुक के मामले में, tool_input उस विशिष्ट टूल पर निर्भर करता है जिसे कॉल किया गया है (उदाहरण के लिए, TodoWrite टूल)।
  • चुनौती और समाधान:
  • इनपुट संरचना में भिन्नता के कारण हुक लिखना चुनौतीपूर्ण हो सकता है।
  • समाधान: इस चुनौती से निपटने के लिए, एक सहायक हुक (Helper Hook) का उपयोग करें।
  • कार्यप्रणाली: एक सहायक हुक (जैसे jq . > post-log. json) का उपयोग करके इनपुट को लॉग किया जा सकता है, जिससे आप देख सकते हैं कि आपके कमांड को वास्तव में क्या डेटा प्राप्त हो रहा है।

Takeaways

  • Claude Code में PreToolUse और PostToolUse के अलावा Notification, Stop, SubagentStop, PreCompact, UserPromptSubmit, और SessionStart/SessionEnd जैसे कई अन्य हुक उपलब्ध हैं।
  • हुक के प्रकार के आधार पर stdin इनपुट बदलता है; PreToolUse और PostToolUse हुक में tool_input विशिष्ट टूल पर निर्भर करता है।
  • इनपुट संरचना में भिन्नता के कारण हुक लिखना चुनौतीपूर्ण हो सकता है।
  • इस चुनौती से निपटने के लिए, इनपुट को लॉग करने हेतु एक सहायक हुक (Helper Hook) का उपयोग किया जा सकता है।
फ्लैशकार्ड 8 कार्ड
प्रश्न
प्रकट करने के लिए क्लिक करें · ←/→
उत्तर
वापस पलटने के लिए क्लिक करें
ज्ञान जाँच 6 प्रश्न