कार्यप्रवाह और स्वचालन

Use Claude Code Hooks आपके कार्यप्रवाह को स्वचालित करने के लिए।

Claude Code हुक Python वर्कफ़्लो को इवेंट्स, मैचर्स, कमांड और नोटिफिकेशन के लिए एग्जिट कोड, पैकेज गार्ड और फॉर्मेटिंग के माध्यम से निर्णायक बनाते हैं।

Use Claude Code Hooks आपके कार्यप्रवाह को स्वचालित करने के लिए।

मुख्य जानकारी

  • Claude Code हुक आदेशों को घटनाओं से बांधकर दोहराए गए सुरक्षा और सफाई चरणों को स्वचालित करते हैं, जिससे सहायक व्यवहार संकेत-निर्भर के बजाय निर्धारात्मक हो जाता है।
  • लेख तीन व्यावहारिक हुक दिखाता हैः ∀Stop` पर एक डेस्कटॉप अधिसूचना, ≠PreToolUse゙ पर एक पाइप गार्ड, और स्वचालित रूप से रफ प्रारूपण ∂PostTool Use̅।
  • हुक को तीन भागों का उपयोग करके कॉन्फ़िगर किया जाता हैः एक घटना, एक वैकल्पिक मिलानकर्ता और एक कमांड, जिसमें एक्जिट कोड होते हैं जो हुक्स को कार्यों को अवरुद्ध या पुनर्निर्देशित करने की अनुमति देते हैं।
  • कार्यप्रवाह एक पुनरुत्पादित ∀uv`-प्रबंधित पायथन परियोजना का उपयोग करता है और इसके लिए विशिष्ट संस्करणों की आवश्यकता होती है, जिसमें Claude Code, Python, ≠uv゙, और Ruff शामिल हैं।

मेटा विवरणः जानें कि कैसे Claude Code हुक डेस्कटॉप सूचनाओं को स्वचालित करते हैं, स्वीकृत टूल गार्ड्स और रफ फॉर्मेटिंग का उपयोग करके इवेंट, मैचर्स, कमांड और एक्जिट कोड।

Use Claude Code Hooks to automate your workflow.

टैगः Claude Code हुक, पायथन स्वचालन, रफ, यूवी, डेवलपर वर्कफ़्लो

विशेष रुप से प्रदर्शित छवि: (अंग्रेज़ी में) ">"</string> बेल, लॉक और कोड प्रारूप आइकन के साथ तीन जुड़े वर्कफ़्लो नोड्स का सार अनुकूल चित्रण, कोई लोग नहीं, कोई लोगो, कोई पाठ

पायथन डेवलपर्स के लिए जो पहले से ही Claude Code का उपयोग करते हैं, मुख्य चुनौती कोड का अगला ब्लॉक नहीं लिखना है। बड़ी समस्या कोडिंग असिस्टेंट को हर बार एक ही सुरक्षा और सफाई चरणों को मज़बूती से करने में मदद कर रही है। Claude Code हुक की गाइड दिखाता है कि लंबे संपादन को समाप्त करना, अप्रमाणित पैकेज इंस्टॉलेशन से बचना और परिवर्तित फ़ाइलों को स्वचालित क्रियाओं में प्रारूपण जैसे कार्यों को कैसे चालू किया जाए। क्लाउड को अपने नियमों को याद रखने के लिए कहने के बजाय, आप विशिष्ट घटनाओं पर कमांड पंजीकृत करेंगे, इसलिए व्यवहार निर्णायक हो जाता है।

परियोजना और संस्करण स्थापित करें

ट्यूटोरियल एक छोटी सी ∀uv`-प्रबंधित परियोजना के साथ शुरू होता है, जिस तरह से कई पायथन डेवलपर्स वास्तव में वास्तविक काम में उपयोग करेंगे। आप इसे ≠uv init --no-package hooks-demo゙ के साथ बनाते हैं, फिर फ़ोल्डर में प्रवेश करते हैं ∂cd हुक्स-डेमो̅. चल रहा है ∆uv सिंक्रोनाइज़ेशन प्रोजेक्ट का आभासी वातावरण जल्दी बनाता है, जो हुक को शुरुआत से साफ चलने में मदद करता है।

प्रोजेक्ट लेआउट में एक ∀pyproject.toml`, एक स्टार्टर ▽main.py` और कुछ डॉटफ़ाइल शामिल हैं। हुक बनाने से पहले, गाइड मानता है कि आप मध्यवर्ती पायथन, टर्मिनल के साथ सहज हैं, और JSON का थोड़ा सा पढ़ रहे हैं। यह भी मान लेता है कि आपने इसमें कुछ समय बिताया है Claude Code If Claude Code आपके लिए नया है, मार्गदर्शिका इंगित करती है Real Pythons पायथन लिखने और डिबग करने के लिए क्लाउड कोड का उपयोग कैसे करें ट्यूटोरियल और क्लाउड कोड के साथ शुरुआत वीडियो कोर्स।

संस्करण की आवश्यकताएं मायने रखती हैं क्योंकि हुक को एक पुनरुत्पादित सेटअप में काम करने के लिए बनाया गया है। आपको Claude Code 2.1187 या बाद में, पायथन 3.12 या बाद का, uv 0.11.6 या बाद और Ruff 0.15 .20 या बाद की आवश्यकता होती है। यदि आपके पास अभी तक यूवी स्थापित नहीं है, तो Real Python यूवी इंस्टॉल करने पर एक अलग गाइड है। रुफ बाद में स्थापित किया जा सकता है, जब आप प्रारूपण हुक बनाते हैं।

गाइड तीन हुक के लिए मुफ्त नमूना कोड भी प्रदान करता हैः एक डेस्कटॉप नोटिफायर, एक पाइप गार्ड और एक ऑटो-फॉर्मेटर. ये तीन हुक्स ट्यूटोरियल की व्यावहारिक रीढ़ हैं।

पहला स्टॉप हुक बनाएँ

पहला उपयोगी सुधार एक डेस्कटॉप अधिसूचना है। जब आप क्लाउड को एक लंबा कार्य देते हैं और दूर कदम रखते हैं, तो उस पल को याद करना आसान होता है जब क्लाउद समाप्त हो जाता है. यह देरी एक छोटे से विराम को खोए हुए ब्लॉक के रूप में महसूस कर सकती है। ∀Stop` घटना पर एक हुक इस अंतराल को बंद करता है क्योंकि हर बार क्लॉड ने प्रतिक्रिया पूरी करने पर ▽Stop゙ फायर करता है।

Use Claude Code Hooks to automate your workflow.

अधिसूचनाएं ऑपरेटिंग सिस्टम में अलग-अलग काम करती हैं, इसलिए ट्यूटोरियल सभी मशीनों के लिए एक कमांड को हार्ड-कोडिंग करने से बचता है। इसके बजाय, यह `.claude/hooks/notify_desktop.py∀ पर सहेजी गई एक छोटी पायथन स्क्रिप्ट का उपयोग करता है। स्क्रिपट घटना डेटा पढ़ती है जो Claude Code मानक इनपुट पर भेजती है, फिर वर्तमान प्लेटफ़ॉर्म के लिए सही नोटिफायर चुनती है।

मैकओएस पर, स्क्रिप्ट एक अधिसूचना प्रदर्शित करने के लिए ∀osascript` का उपयोग करता है। लिनक्स पर, यह ゙notify-send` का प्रयोग करता है. विंडोज और अन्य प्रणालियों पर, या यदि नोटिफायर स्थापित नहीं किया गया है, तो हुक वापस सादे पाठ संदेश में गिर जाता है ताकि वह सत्र को बाधित न करे। गाइड उल्लेख करता है कि एक देशी विंडोज़ टोस्ट भी बर्न्टटोस्ट जैसे पावरशेल मॉड्यूल के साथ वायर्ड हो सकता है।

नमूना स्क्रिप्ट एक सरल बैकअप संदेश प्रिंट करता है, Claक्लाउड ने अभी जवाब देना समाप्त किया है, जब कोई अधिसूचना प्रणाली उपलब्ध नहीं होती। यह बैकअप महत्वपूर्ण हैः हुक को आपके वर्कफ़्लो को सिर्फ इसलिए नहीं तोड़ना चाहिए क्योंकि आपका ऑपरेटिंग सिस्टम या डेस्कटॉप वातावरण असामान्य है।

हुक को पंजीकृत करें और इसके तीन भागों को समझें

प्रोजेक्ट-स्तरीय हुक `.claude/settings.json` में रहते हैं। प्रत्येक हुक तीन भागों से बना हैः एक घटना, एक वैकल्पिक मिलानकर्ता और एक कमांड। ईवेंट वह क्षण है जब हुक चलता है, जैसे कि ∀Stop`। मैचर हुक को कुछ उपकरणों तक सीमित कर सकता है, जो तब उपयोगी होता है जब आप नहीं चाहते कि हर संभव कार्रवाई के बाद एक ही हुक चलाया जाए। आदेश शेल कमांड है जिसे हुक निष्पादित करता है।

यह संरचना है कि हुक संकेतों की तुलना में अधिक विश्वसनीय क्यों हैं। एक प्रॉम्प्ट मॉडल को कुछ करने के लिए कहता है। एक हुक का कहना है कि जब कोई विशिष्ट घटना होती है, तो कमांड चलाया जाता है। वह भेद Claude Code हुक्स का मुख्य विचार है। आप अब सहायक पर भरोसा नहीं कर रहे हैं ताकि स्वरूपण, गार्ड या अधिसूचना याद रखें। आप उन कार्यों को ईवेंट्स से जोड़ रहे हैं।

ट्यूटोरियल में एग्जिट-कोड कॉन्ट्रैक्ट का भी परिचय दिया गया है। एक हुक किसी विशिष्ट एग्ज़िट स्टेटस को लौटाकर आगे क्या होता है, इस पर प्रभाव डाल सकता है। यह हुक ब्लॉक या उस एक्शन को रीडायरेक्ट करने देता है जो मॉडल लेने वाला है। उदाहरण के लिए, गार्ड हुक चलाने से पहले अप्रमाणित कमांड को रोक सकता है, जबकि प्रारूपण हुक संपादन किए जाने के बाद कार्य कर सकता है.

इंटरैक्टिव प्रश्नोत्तरी क्लाउड कोड हुक के साथ अपने कार्यप्रवाह को स्वचालित कैसे करें ∀Stop`, ▽PreToolUse` और △PostTool Uses̅ घटनाओं के साथ-साथ एक्शन को अवरुद्ध करने वाले एग्जिट कोड की समझ का परीक्षण करता है। यह पुष्टि करने का एक अच्छा तरीका है कि आप क्लाउड समाप्त होने के बाद, उपकरण चलाने से पहले और उसके बाद अंतर बता सकते हैं।

Use Claude Code Hooks to automate your workflow.

PreToolUse गार्ड और PostTool Uses स्वरूपण जोड़ें

एक बार जब स्टॉप हुक काम कर रहा होता है, तो अगले दो हुक्स दिखाते हैं कि परियोजना की सुरक्षा और सफाई कैसे करें। पाइप गार्ड ∀PreToolUse` के साथ जुड़ा हुआ है, जो किसी टूल एक्शन से पहले फायर करता है। यह इसे सही जगह बनाता है यदि कोई कमांड अनुमति दी जानी चाहिए या नहीं. मिलानकर्ता गार्ड को प्रासंगिक उपकरण तक सीमित कर सकता है, और कमांड आउट कोड का उपयोग ब्लॉक या रीडायरेक्ट कार्य करने के लिए कर सकते हैं जो आपके प्रोजेक्ट के अनुमोदित उपकरणों से मेल नहीं खाता है।

ऑटो-फॉर्मेटर ∀PostToolUse` के साथ जुड़ा हुआ है, जो टूल चलाने के बाद फायर करता है। यह वह जगह है जहां एक हुक क्लाउड द्वारा अभी संपादित फ़ाइल को प्रारूपित कर सकता है। गाइड में रफ़ के साथ क्लौड के संपादन का स्वरूपण करने वाला पोस्टटूलयूज़ हुक दिखाया गया है। Because Ruff पर पिन किया गया है 0.15 । 20 या बाद में, स्वरूपण व्यवहार किसी ज्ञात उपकरण संस्करण से बंधा होता है, जिससे सेटअप को पुनः पेश करना आसान हो जाता है।

एक साथ, तीन हुक एक सरल कार्यप्रवाह पैटर्न बनाते हैं। स्टॉप हुक आपको बताता है कि क्लाउड कब किया जाता है। प्रीटूलयूज हुक जोखिम भरा या अप्रमाणित कार्यों को रोकता है। पोस्ट टूल यूज़ हुक परिणाम को साफ करता है ताकि कोड आपके मानकों के अनुरूप रहे। यह संयोजन उपयोगी है क्योंकि यह तीन अलग-अलग विफलताओं को संबोधित करता हैः ध्यान खोना, असुरक्षित उपकरण का उपयोग और असंगत स्वरूपण।

एक पाठक के लिए, व्यावहारिक मूल्य सीधा है। यदि आप पायथन के लिए Claude Code का उपयोग करते हैं, तो हुक वार्तालाप मेमोरी से परियोजना कॉन्फ़िगरेशन में दोहराए जाने वाले सुरक्षा चरणों को स्थानांतरित करता है। आप निर्देशों को दोहराना बंद कर देते हैं। आप आशा करते हैं कि मॉडल याद रखेगा। इसके बजाय, हर बार आपके द्वारा चुनी गई घटना पर हुक फायर होता है।

आम गलतियाँ

पहली गलती संकेतों के साथ निर्धारित व्यवहार को हल करने की कोशिश कर रही है। यदि एक कदम हर बार होना चाहिए, तो यह चैट में एक हुक नहीं, बल्कि एक अनुस्मारक होना चाहिए। दूसरी त्रुटि प्रत्येक ऑपरेटिंग सिस्टम के लिए एक अधिसूचना कमांड हार्ड-कोडिंग है। गाइड इससे बचता है कि पायथन स्क्रिप्ट का उपयोग करके जो मैकओएस या लिनक्स के लिए सही नोटिफायर चुनता है और कहीं और सादे पाठ पर वापस गिर जाता है।

एक और गलती तीन-भाग संरचना को भूलना है। हुक के लिए सही घटना, सही मैचर और सही कमांड की आवश्यकता होती है। यदि मिलानकर्ता गायब है या बहुत व्यापक है, तो हुक तब चल सकता है जब आप इसे नहीं चाहते हैं। अगर आदेश गलत है, हुक चुपचाप विफल हो सकता है या शोर आउटपुट का उत्पादन कर सकता है।

अंत में, यह आपके दिमाग में घटनाओं को अलग रखने में मदद करता है। ∀Stop` तब होता है जब क्लाउड जवाब देना समाप्त कर देता है।

पूरा गाइड https://realpython.com/claude-code-hooks/ पर उपलब्ध है।

Comments (0)

  1. No comments yet. Be the first to share what worked for you.

Leave a comment

Comments are reviewed before they appear. Your email address is not published.