कॉन्फ़िगरेशन स्कोप
तीन कॉन्फ़िगरेशन स्कोप हैं, प्राथमिकता क्रम में मूल्यांकन किए गए:| स्कोप | फ़ाइल पथ | उद्देश्य |
|---|---|---|
| project | .failproofai/policies-config.json | प्रति-रिपॉजिटरी सेटिंग्स, संस्करण नियंत्रण में कमिट की गई |
| local | .failproofai/policies-config.local.json | व्यक्तिगत प्रति-रिपॉजिटरी ओवरराइड, gitignored |
| global | ~/.failproofai/policies-config.json | सभी परियोजनाओं में उपयोगकर्ता-स्तर की डिफ़ॉल्ट सेटिंग्स |
विलय नियम
enabledPolicies - सभी तीन स्कोप का संघ। किसी भी स्तर पर सक्षम की गई नीति सक्रिय है।
policyParams - किसी दिए गए नीति के लिए पैरामीटर को परिभाषित करने वाला पहला स्कोप पूरी तरह जीत जाता है। किसी नीति के पैरामीटर के भीतर मानों का कोई गहरा विलय नहीं है।
customPoliciesPath - इसे परिभाषित करने वाला पहला स्कोप जीतता है।
llm - इसे परिभाषित करने वाला पहला स्कोप जीतता है।
कॉन्फ़िग फ़ाइल प्रारूप
फ़ील्ड संदर्भ
enabledPolicies
प्रकार: string[]
सक्षम करने के लिए नीति नामों की सूची। नाम failproofai policies द्वारा दिखाए गए नीति पहचानकर्ताओं से बिल्कुल मेल खाने चाहिए। पूरी सूची के लिए Built-in Policies देखें।
enabledPolicies में न होने वाली नीतियां निष्क्रिय हैं, भले ही policyParams में उनके प्रविष्टियां हों।
policyParams
प्रकार: Record<string, Record<string, unknown>>
प्रति-नीति पैरामीटर ओवरराइड। बाहरी कुंजी नीति का नाम है; आंतरिक कुंजियां नीति-विशिष्ट हैं। प्रत्येक नीति Built-in Policies में अपने उपलब्ध पैरामीटर को दस्तावेज़ित करती है।
यदि किसी नीति के पैरामीटर हैं लेकिन आप उन्हें निर्दिष्ट नहीं करते हैं, तो नीति की बिल्ट-इन डिफ़ॉल्ट का उपयोग किया जाता है। जो उपयोगकर्ता policyParams को बिल्कुल कॉन्फ़िगर नहीं करते हैं उन्हें पिछले संस्करणों के समान व्यवहार मिलता है।
नीति के पैरामीटर ब्लॉक के अंदर अज्ञात कुंजियां हुक-फायर समय पर चुप्पी से अनदेखी की जाती हैं लेकिन जब आप failproofai policies चलाते हैं तो चेतावनी के रूप में फ्लैग की जाती हैं।
hint (cross-cutting)
प्रकार: string (वैकल्पिक)
एक संदेश जो तब जोड़ा जाता है जब कोई नीति deny या instruct लौटाती है। इसे Claude को कार्रवाई योग्य मार्गदर्शन देने के लिए उपयोग करें बिना नीति को संशोधित किए।
किसी भी नीति प्रकार के साथ काम करता है — बिल्ट-इन, कस्टम (custom/), प्रोजेक्ट कन्वेंशन (.failproofai-project/), या उपयोगकर्ता कन्वेंशन (.failproofai-user/)।
block-force-push अस्वीकार करता है, Claude को यह दिखता है: “Force-pushing is blocked. Try creating a fresh branch instead.”
गैर-स्ट्रिंग मानों और खाली स्ट्रिंग को चुप्पी से अनदेखा किया जाता है। यदि hint सेट नहीं है, तो व्यवहार अपरिवर्तित है (पिछड़े-संगत)।
customPoliciesPath
प्रकार: string (निरपेक्ष पथ)
कस्टम हुक नीतियों वाली JavaScript फ़ाइल का पथ। यह failproofai policies --install --custom <path> द्वारा स्वचालित रूप से सेट किया जाता है (पथ को संग्रहीत करने से पहले निरपेक्ष में हल किया जाता है)।
फ़ाइल प्रत्येक हुक इवेंट पर ताजी लोड की जाती है - कोई कैशिंग नहीं है। लेखन विवरण के लिए Custom Policies देखें।
कन्वेंशन-आधारित नीतियां
स्पष्टcustomPoliciesPath के अतिरिक्त, failproofai .failproofai/policies/ निर्देशिकाओं से नीति फ़ाइलों को स्वचालित रूप से खोज निकालता है:
| स्तर | निर्देशिका | स्कोप |
|---|---|---|
| Project | .failproofai/policies/ | टीम के साथ संस्करण नियंत्रण के माध्यम से साझा |
| User | ~/.failproofai/policies/ | व्यक्तिगत, सभी परियोजनाओं पर लागू |
*policies.{js,mjs,ts} से मेल खाने वाली फ़ाइलें लोड की जाती हैं (जैसे security-policies.mjs, workflow-policies.js)। निर्देशिका में अन्य फ़ाइलें अनदेखी की जाती हैं।
कोई कॉन्फ़िग आवश्यक नहीं: कन्वेंशन नीतियों को policies-config.json में कोई प्रविष्टि की आवश्यकता नहीं है। केवल निर्देशिका में फ़ाइलें रखें और वे अगले हुक इवेंट पर चुन ली जाएंगी।
यूनियन लोडिंग: प्रोजेक्ट और उपयोगकर्ता दोनों कन्वेंशन निर्देशिकाओं को स्कैन किया जाता है। दोनों स्तरों से सभी मेल खाने वाली फ़ाइलें लोड की जाती हैं (customPoliciesPath के विपरीत जो पहले-स्कोप-जीतता-है का उपयोग करता है)।
अधिक विवरण और उदाहरणों के लिए Custom Policies देखें।
llm
प्रकार: object (वैकल्पिक)
ऐसी नीतियों के लिए LLM क्लाइंट कॉन्फ़िगरेशन जो AI कॉल करती हैं। अधिकांश सेटअप के लिए आवश्यक नहीं है।
CLI से कॉन्फ़िगरेशन प्रबंधित करना
policies --install और policies --uninstall कमांड Claude Code के settings.json (हुक प्रविष्टि बिंदु) में लिखते हैं, जबकि policies-config.json वह फ़ाइल है जिसे आप सीधे प्रबंधित करते हैं। ये दोनों अलग हैं:
settings.json- Claude Code को प्रत्येक टूल उपयोग परfailproofai --hook <event>को कॉल करने के लिए बताता हैpolicies-config.json- failproofai को बताता है कि कौन सी नीतियों का मूल्यांकन करें और किन पैरामीटर के साथ
policies-config.json को सीधे संपादित कर सकते हैं; परिवर्तन तुरंत अगले हुक इवेंट पर प्रभावी होते हैं, कोई पुनरारंभ की आवश्यकता नहीं है।
उदाहरण: टीम डिफ़ॉल्ट के साथ प्रोजेक्ट-स्तर कॉन्फ़िगरेशन
.failproofai/policies-config.json को अपने रिपॉजिटरी में कमिट करें:
.failproofai/policies-config.local.json (gitignored) बना सकता है व्यक्तिगत ओवरराइड के लिए बिना सहकर्मियों को प्रभावित किए।
