Skip to main content
एक pack policies का एक समूह है जो GitHub release के रूप में प्रकाशित किया जाता है। एक कमांड इसे install करता है: release के checksums को verify किया जाता है इससे पहले कि कुछ भी चले, और इसका digest record किया जाता है ताकि pack आपकी machine के अंतर्गत बाद में बदल न सके। हर pack को browse करें, और policy hub पर प्रत्येक में हर policy को देखें। दो प्रकार हैं:
  • Failproof AI policy packs — पूर्वनिर्धारित use cases के लिए ready-made packs: एक को plug in करें और यह काम करता है। coding agent policy pack अभी उपलब्ध है, और अधिक use cases के लिए packs जल्द ही आ रहे हैं।
  • Community policy packs — policies जो developers ने अपने use cases के लिए लिखी हैं और किसी को भी लेने के लिए प्रकाशित की हैं।

Failproof AI policy packs

Coding agent policy pack

pack में 38 policies हैं और अपने manifest में 10 को safe के रूप में चिह्नित करता है ताकि unattended enable किया जा सके; बाकी को आपको चुनने के लिए सूचीबद्ध किया जाता है। सबसे अधिक उपयोग किए जाने वाले कुछ, और क्या एक plain policies add उन्हें switch on करता है: जो off हैं उन्हें नाम से switch on करें — failproofai policies add block-rm-rf — या --all के साथ पूरे pack को लें। इसमें हर policy को देखें, category के अनुसार समूहबद्ध:

Community policy packs

Developers अपने द्वारा मिले use cases के लिए packs प्रकाशित करते हैं, और policy hub उन्हें सूचीबद्ध करता है। एक community pack अपने author द्वारा प्रकाशित है, Failproof AI द्वारा audited नहीं है, इसलिए इसे install करने से पहले यह पढ़ें कि इसमें क्या है:
यह हर policy को list करता है जो इसमें है, category के अनुसार समूहबद्ध, और चिह्नित करता है कि इसके author कौन सी policies को डिफ़ॉल्ट रूप से switch on करते हैं। यह केवल manifest को पढ़ता है — entry artifact को कभी download या import नहीं किया जाता है, इसलिए एक अजनबी के pack को देखना एक अजनबी के code को नहीं चलाता है। Manifest को अभी भी release के अपने SHA256SUMS के विरुद्ध checked किया जाता है, इसलिए जो आप पढ़ते हैं वह यही है जो install होता। फिर इसे install करें:
ये सभी काम करते हैं — जो भी आपके पास है paste करें: कोई tag नाम न रखना newest release को install करता है और इसे pin करता है, फिर आपको बताता है कि इसने कौन सा tag चुना। जो record किया जाता है वह हमेशा बिल्कुल एक release का नाम देता है, इसलिए एक reinstall drift नहीं कर सकता।

एक pack का एक हिस्सा लें

डिफ़ॉल्ट रूप से आप pack के अपने defaults प्राप्त करते हैं — policies जो इसके author ने unattended switch on करने के लिए safe चिह्नित की हैं — यह सब कुछ नहीं जो यह contain करता है।
--category और --policy एक union के रूप में combine होते हैं (--only को --policy के लिए एक synonym के रूप में स्वीकार किया जाता है)। जब pack पहले से ही installed है, तो flags आपके पास जो थे उसमें जोड़ते हैं, और इसे कोई flag और कोई terminal के साथ फिर से जोड़ना — upgrade करने के लिए, कहें — आपकी selection को जैसे है रखता है। एक terminal में कोई flag के साथ, add picker को खोलता है इसके बजाय, author के defaults के साथ pre-ticked, और जो आप tick करते हैं आपकी selection को replace करता है।

क्या है यह manage करें

एक pack policy को on या off करना पूरी machine पर लागू होता है: switch को installed pack के साथ record किया जाता है, project के configuration में नहीं, चाहे --scope क्या कहे। कोई slash के बिना एक नाम एक policy है; जो कुछ भी एक के साथ एक pack source है। एक bare नाम installed pack में resolve होता है जो इसे declare करता है। जब दो installed packs एक ही नाम declare करते हैं, तो जिस एक का आप मतलब करते हैं उसका नाम दें:
Scopes, parameters, और ये commands जो files लिखती हैं वे local configuration में cover हैं।

Integrity क्या करती है और क्या नहीं करती है

SHA256SUMS artifact के समान release में ships करता है, इसलिए यह एक signature नहीं है और किसी को publish करने के बारे में कुछ भी prove नहीं करता है। यह क्या prove करता है कि bytes वो हैं जो release ने publish किए — और क्योंकि digest को record किया जाता है जब आप pack add करते हैं और हर import से पहले re-verified होता है, एक pack आपकी machine के अंतर्गत बाद में नहीं बदल सकता। एक repository जो retags या एक asset को replace करता है loading को रोकता है इसके बजाय quietly कुछ और run करने के। Install time पर pack को भी एक बार import किया जाता है और अपने manifest के विरुद्ध checked किया जाता है। एक pack जिसका artifact parse नहीं होता, या जो कुछ और register करता है जो वह declare नहीं करता, को refuse किया जाता है इससे पहले कि कुछ भी activate हो — इसके बजाय cleanly install होना और आपकी अगली tool call पर fail होना।

जब एक pack load नहीं होगा

एक pack जिसे इस machine को enforce करने के लिए कहा गया था और run नहीं कर सकता deny करता है events को जो इसकी missing policies covered करती थीं, उन्हें silently allow करने के बजाय — pack/failproofai-pack-unavailable के रूप में, जो policies को outrank करता है जो load हुई इसलिए deny को missing pack को attribute किया जाता है बजाय whichever guard happened to fire first के। Exception UserPromptSubmit है, जो इसके बजाय instruct करता है: वहाँ deny करना आपको lock कर देगा agent से जिसकी आप जरूरत है इसे ठीक करने के लिए। Failure behavior देखें।

Offline और mirrors

अपनी policies को इस तरह share करने के लिए, Publish a policy pack देखें।