ضع المملّ في الـ allowlist
بعد بضع sessions، تلاحظ نمطاً: وافقت على ls أربعين مرة هذا الأسبوع. ووافقت على git status ثلاثين. ووافقت على pwd مرات كثيرة جداً حتى صرت لا تقرؤها أصلاً.
هذه مشكلة. ليس لأن الـ prompts بطيئة — بل لأنك حين تكفّ عن قراءة المملّة منها، تكفّ عن قراءة المهمّة أيضاً.
ما هو الـ allowlist
الحلّ ليس توسيع الـ mode. بل وضع commands محددة في allowlist — أن تخبر Claude، في الإعدادات، “يمكنك تشغيل هذه دون أن تسأل أبداً”. أما كل ما عداها فيظل يمرّ عبر الحلقة.
الـ allowlist الجيد يجعل الـ prompts التي تراها فعلاً مستحيلة التجاهل.
ما إن يصبح ls، وpwd، وgit status، وgit diff، وحفنة أخرى في قائمتك، حتى تصبح الـ prompts التي تُطلق كلها هي تلك التي تهمّ فعلاً. تنقلب نسبة الإشارة إلى الضجيج في التجربة كلها.
ما الذي ينتمي إليها
محكّ التمييز: هل كنت سأشغّل هذا الـ command بالذات بنفسي، دون تفكير؟ إن كان نعم، فهو مرشّح. وإن كنت ستتردد ولو نصف ثانية، فاتركه خارجها.
مرشّحون جيّدون:
- أمور الـ filesystem للقراءة فقط:
ls،pwd،cat،head،find. - commands الـ git للقراءة فقط:
git status،git diff،git log،git branch. - tools اللغة للقراءة فقط:
npm list،python --version،node --version.
مرشّحون سيّئون — أبقِ هؤلاء على الـ prompt:
- أيّ شيء يكتب:
rm،mv،cp -r،touchفي directories تهمّ. - أيّ شيء يشغّل الكود بطريقة قد تمسّ أنظمة حقيقية —
npm startفي الإنتاج، أيّ شيء يسبقه database URL. - أيّ شيء يتصل بالشبكة:
curl،git push،npm publish. - أيّ شيء تعرّفت عليه بالأمس فقط — أعطه بضعة أسابيع من رؤيته في الـ prompts قبل أن تسمح بمروره.
مثال صغير
سترى بالضبط كيف تكتب هذه القائمة في المستوى 9 (“اجعل Claude ملكك”) — فهناك يسكن settings.json. لكن الشكل تقريباً هو:
{
"permissions": {
"allow": [
"Bash(ls:*)",
"Bash(pwd)",
"Bash(git status:*)",
"Bash(git diff:*)"
]
}
}
ليست النقطة هي الـ syntax الدقيق. النقطة هي: لديك تحكّم، بدقّة أعلى من “الـ mode”. استخدمه.
الانضباط
أضف إلى القائمة ببطء. command واحداً في كل مرة، بعد أن تكون قد رأيته في الـ prompts بما يكفي لتعرف أنه آمن في كل الـ directories التي تشغّله منها على الإطلاق. الـ allowlist جزء بعيد الأمد من علاقتك بـ Claude — ويستحق بضع ثوانٍ من التفكير في كل مرة تنمّيه فيها.
ما التالي
الـ prompts والـ allowlist يتحكّمان بما يحدث داخل مشروع. الدرس التالي عن قرار يحدث قبل أيّ prompt: هل ينبغي لك أصلاً أن تُدخِل Claude إلى هذا المجلد من البداية.