सारांश ऑडियो
इस पाठ के लिए कोई ऑडियो सारांश नहीं है।
अध्ययन नोट्स
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 प्रश्न