مواد پر جائیں

گارڈریلز کنفیگر کریں

یہ گائیڈ بتاتی ہے کہ گارڈریلز کیسے کنفیگر کریں: وہ قواعد جو فیصلہ کرتے ہیں کہ کسی ایجنٹ کا ایکشن چلے گا، پہلے منظوری مانگے گا، یا مسترد کر دیا جائے گا۔

گارڈریلز اُن تیرہ اثر کلاسوں کا احاطہ کرتے ہیں جو ہر تبدیلی لانے والا ٹول ظاہر کرتا ہے۔ یہ سرور کی طرف اُسی مقام پر نافذ ہوتے ہیں جہاں ٹول کال ہوتا ہے، کبھی کسی پرامپٹ میں دی گئی ہدایت سے نہیں۔

کسی ایکشن کلاس کے لیے فیصلہ مقرر کریں

سیکشن کا عنوان “کسی ایکشن کلاس کے لیے فیصلہ مقرر کریں”
  1. ترتیبات → ورک اسپیس → ایجنٹ اجازتیں کھولیں
  2. سیگمنٹڈ کنٹرول سے کوئی دائرہ چنیں: ورک اسپیس، ایجنٹ (پھر ایجنٹ چنیں)، یا اسپیس (پھر اسپیس چنیں)
  3. ایکشن کلاس والی قطار میں اجازت دیں، پہلے پوچھیں یا منع کریں چنیں
  4. اپنا لگایا ہوا کوئی قاعدہ ہٹانے کے لیے اُس قطار کے آخر میں نمودار ہونے والا ری سیٹ بٹن دبائیں (وراثت پر صاف کریں) — فیصلہ واپس وسیع تر دائرے پر چلا جاتا ہے

ہر قطار مؤثر فیصلہ ایک اسٹیٹس ٹیگ کے طور پر دکھاتی ہے اور یہ کہ وہ کہاں سے آیا، ایک بیج کے طور پر: یہ دائرہ، وراثت میں ملا یا بلٹ اِن ڈیفالٹ۔ میٹرکس ایجنٹ (chat) موڈ پر تعین پاتا ہے، اس لیے موڈ پری سیٹ یہاں کبھی نمودار نہیں ہوتا — اُس پرت کو دیکھنے کے لیے کوئی صرف پڑھنے والا موڈ منتخب کر کے اگر؟ پروب استعمال کریں۔

قاعدہ لکھنے کے لیے admin کردار درکار ہے۔ میٹرکس پڑھنے کے لیے نہیں۔

چیک پوائنٹ: ورک اسپیس دائرے پر ریموٹ پر پش کریں کو منع کریں پر سیٹ کریں، پھر نیچے دیا گیا اگر؟ پروب git push origin main پر چلائیں۔ نتیجہ deny پڑھتا ہے جس کا ماخذ workspace ہوتا ہے۔

تعین پہلے مخصوصیت، پھر پابندی کے مطابق ہوتا ہے:

  1. پہلے اسپیس کے قواعد، پھر ایجنٹ، پھر ورک اسپیس۔ مماثل قاعدے والا پہلا دائرہ فیصلہ کرتا ہے اور تعین وہیں رک جاتا ہے
  2. کوئی قاعدہ مماثل نہ ہو تو موڈ پری سیٹ لاگو ہوتا ہے — صرف پڑھنے والا موڈ (پلان، ریویو، آرکیسٹریٹ) تیرہ میں سے گیارہ کلاسوں سے انکار کر دیتا ہے
  3. موڈ کے پاس کہنے کو کچھ نہ ہو تو بلٹ اِن ڈیفالٹ لاگو ہوتا ہے

ایک ہی دائرے میں، کمانڈ قاعدہ سب سے طویل مماثل پریفکس سے تعین پاتا ہے اور برابر مخصوصیت کا تصادم سب سے زیادہ پابند کے طور پر تعین پاتا ہے — منع، پہلے پوچھنے پر اور وہ اجازت پر غالب آتا ہے۔ ایسا ایکشن جو کئی کلاسوں کا اعلان کرے، ہر ایک کا تعین الگ الگ کرتا ہے اور پھر اُنہیں سب سے زیادہ پابند انداز میں جوڑتا ہے۔

پہلے پوچھیں کا فیصلہ ایک ہی منظوری پرامپٹ دکھاتا ہے جو اُن تمام کلاسوں کا احاطہ کرتا ہے جن کا تعین prompt ہوا ہو۔ کوئی منظور کنندہ منسلک نہ ہو تو انکار کر دیا جاتا ہے، شیل کمانڈز اور ہارنس ٹول کالز دونوں کے لیے۔ یہ جان بوجھ کر ہے: گیٹ کے بغیر چلنے والا رن مسترد ہونے والے رن سے بدتر ہے۔

ایکشن کلاس بلٹ اِن ڈیفالٹ
فائل حذف کریں پہلے پوچھیں
worktree سے باہر لکھیں اجازت دیں
کمیٹ بنائیں اجازت دیں
ریموٹ پر پش کریں پہلے پوچھیں
pull request کھولیں پہلے پوچھیں
ریویو شائع کریں یا مرج کریں پہلے پوچھیں
بیرونی ٹریکر پر لکھیں پہلے پوچھیں
نیٹ ورک تک رسائی اجازت دیں
راز پڑھیں اجازت دیں
پیکیج انسٹال کریں اجازت دیں
پراسیس چلائیں اجازت دیں
ورک اسپیس کا ڈھانچہ بدلیں اجازت دیں
انکلوژر چلائیں (رگ) اجازت دیں

درجہ بندی بند ہے۔ کوئی نیا ٹول جو اپنی کلاسیں ظاہر کیے بغیر آئے، CI میں ریچٹ ٹیسٹ ناکام کر دیتا ہے، اس لیے کوئی چیز خاموشی سے خالی اثر سیٹ لے کر نہیں آتی۔

کسی قاعدے کو بدلنے سے پہلے جانچ لیں کہ موجودہ پالیسی اُسے پہلے ہی کیسے تعین دیتی ہے۔

  1. اسی صفحے پر اگر؟ تک اسکرول کریں
  2. کوئی ایکشن چنیں (تیرہ کلاسوں میں سے ایک)
  3. اختیاراً کمانڈ (مثلاً git push origin main)، ایجنٹ، اسپیس اور موڈ بھریں
  4. نتیجہ پڑھیں: فیصلہ، وجہ اور ماخذ:

پروب وہی ریزالور چلاتا ہے جو نفاذ کا راستہ استعمال کرتا ہے، آپ کے لائیو قواعد پر، اس لیے جواب بالکل درست ہوتا ہے۔ اگر یہ آپ کو چونکا دے، تو اوپر والے میٹرکس میں کوئی قاعدہ بدلیں اور دوبارہ پروب کریں۔

ڈائل فی اسپیس فی ایجنٹ ہوتا ہے اور قواعد کو بدلنے کے بجائے اُن کے ساتھ مل کر کام کرتا ہے۔

  1. اسپیس کھولیں
  2. اسپیس ہیڈر سے شرکاء منظم کریں کھولیں
  3. ایجنٹ کی قطار میں خود مختاری کے تحت کوئی سطح چنیں:
سطح اثر
ڈیفالٹ کوئی اسپیس سیٹنگ نہیں — منظوری سے عمل کی طرح برتاؤ کرتا ہے
صرف تجویز ہر گیٹڈ ٹول یکسر مسترد ہو جاتا ہے، اور ایک پیغام ایجنٹ کو بتاتا ہے کہ بجائے اس کے وہ ایکشن تجویز کرے
منظوری سے عمل خطرناک ایکشنز ناکامی پر بند منظوری گیٹ سے ٹکراتے ہیں
آزادانہ عمل ہر اُس چیز کو پیشگی منظور کر دیتا ہے جس کا تعین سخت منع پر نہ ہوا ہو

یہ ڈائل صرف بلٹ اِن ہارنس تک پہنچتا ہے۔ Claude Code اڈاپٹر اپنے ٹولز اِس گیٹ کے باہر چلاتا ہے۔

جانیں کہ گارڈریلز کہاں تک نہیں پہنچتے

سیکشن کا عنوان “جانیں کہ گارڈریلز کہاں تک نہیں پہنچتے”

اسی صفحے کے نیچے دیا گیا قواعد کہاں نافذ ہوتے ہیں جدول اِس کا اِن-ایپ ورژن ہے: فی اثر کلاس، یہ بتاتا ہے کہ ہر رنر اُسے پالیسی گیٹ پر پکڑتا ہے، سینڈ باکس کے سپرد کرتا ہے، یا اُسے روک ہی نہیں سکتا۔

  • Claude Code اڈاپٹر اپنی ٹول کالز پر صرف جزوی طور پر گیٹ ہوتا ہے۔ Claude Code --dangerously-skip-permissions کے ساتھ لانچ ہوتا ہے، اس لیے اُس کی read، write اور edit کالز کبھی گارڈ سے نہیں گزرتیں۔ اُس کی bash کمانڈز ایک ہک کے ذریعے گارڈ تک پہنچتی ہیں جو کمانڈ لائن کی درجہ بندی کرتا ہے، اور اُس کے پش ہر ایجنٹ کی طرح پش گیٹ وے سے گزرتے ہیں۔ وہ MCP ٹول سطح جسے وہ واپس کال کرتا ہے اور وہ شیل کمانڈ جو Control Center اُسے لانچ کرنے کے لیے اسپان کرتا ہے، بھی گیٹ ہوتی ہیں۔
  • موڈ کا اپنا آؤٹ پٹ فعل (submit_plan، propose_orchestration) پن شدہ ہوتا ہے اور اُسے کبھی منع نہیں کیا جا سکتا — ورنہ کوئی موڈ اپنی واحد قابلِ حصول چیز پیدا کرنے سے ساختی طور پر قاصر ہو جائے گا۔
  • سینڈ باکس اِن قواعد کی پشت پناہی کرتا ہے یا نہیں، یہ ہوسٹ پر منحصر ہے۔ جہاں cc_server کو کوئی بیک اینڈ ملتا ہے وہ Claude Code CLI اور ہارنس کے bash ٹول کو لپیٹ دیتا ہے، اس لیے جو قاعدہ آپ نے نہیں لکھا، اُس کے نیچے بھی ایک OS فرش موجود رہتا ہے۔ Windows پر کوئی نہیں اور Linux یا WSL2 پر bwrap اور socat کے بغیر بھی کوئی نہیں — وہاں گارڈریلز کے ساتھ موڈ کی ٹول سطح ہی پورا نفاذ ہیں، دفاع کی دوسری لکیر نہیں۔ یہ جاننے کے لیے کہ آپ کس صورتِ حال میں ہیں، سینڈ باکس پالیسیاں کنفیگر کریں دیکھیں۔