الإعدادات التي تغيّر كل شيء
أهداف هذا الفصل
- ضبط الأذونات حتى لا تعيد الموافقة على الأوامر نفسها 100 مرة
- استخدام وضعَي Plan وAuto-Edit في الوقت المناسب
- إدارة السياق للحصول على جلسات نظيفة وفعّالة
الأذونات: توقّف عن الموافقة بلا نهاية
افتراضيًا، يطلب Claude الإذن قبل كل أمر shell وكل تعديل ملف. هذا هو الإعداد الصحيح للبداية: ما دمت لا تعرف ما تفعله الأداة، فكل إجراء يستحق نظرة. لكن بعد ساعة، ستكون قد وافقت ثلاثين مرة على ls وcat وgit status — أوامر قراءة لا يمكنها كسر أي شيء. لهذا الاحتكاك كلفة حقيقية: يقطع تركيزك، والأسوأ أنه يدرّبك على النقر «نعم» آليًا، ما يدمّر جوهر فكرة الرقابة نفسها.
الحل: السماح مرة واحدة وإلى الأبد بالأوامر غير المدمّرة، والإبقاء على الموافقة اليدوية للأوامر التي تغيّر حالة نظامك أو تلمس الشبكة بشكل حساس. يقوم نظام أذونات Claude Code على قوائم سماح لكل أداة ولكل نمط أمر، مخزّنة في ملفات إعدادات. يمكنك الاطلاع عليها وتعديلها في أي وقت بالأمر /permissions.
أبسط طريقة للبدء: الصق هذا الموجّه (prompt) في Claude Code — سيحدّث ملفك .claude/settings.local.json، حيث تعيش أذوناتك المحلية:
أضف أذونات إلى مشروع claude code هذا للسماح بأوامر bash غير المدمّرة: WebSearch, WebFetch, source, export, curl, jq, cat, ls, grep, echo, which, wc, file, pwd, mkdir, touch, head, tail, find, sort, tree, diff, node, npm, npx, git status, git diff, git log
تشريح ملفات الإعدادات
يقرأ Claude Code إعداداته على ثلاثة مستويات، من الأعم إلى الأخص: ~/.claude/settings.json (إعداداتك الشخصية، سارية في كل مكان)، و.claude/settings.json (إعدادات المشروع، تُحفظ في Git لمشاركتها مع الفريق)، و.claude/settings.local.json (إعداداتك المحلية لهذا المشروع، يتجاهلها Git). الأذونات الممنوحة «لهذا المشروع» تستقر في هذا الأخير.
{
"permissions": {
"allow": [
"Bash(ls:*)",
"Bash(cat:*)",
"Bash(git status)",
"Bash(git diff:*)",
"WebSearch",
"WebFetch(domain:docs.anthropic.com)"
],
"deny": [
"Bash(rm -rf:*)"
]
}
}اقرأ هذا الملف مرة واحدة لفهم المنطق: كل مدخل يجمع بين أداة (Bash، WebFetch…) ونمط. Bash(git diff:*) يسمح بـ git diff مع أي وسائط، لكن ليس بـ git push. قائمة deny تتقدم دائمًا على allow: إنها حزام الأمان الخاص بك، حتى لو كانت قاعدة سماح ما واسعة أكثر من اللازم.
الأوضاع: Plan مقابل Auto-Edit
إلى جانب الأذونات أمرًا بأمر، يملك Claude Code أوضاع أذونات تتحكم في درجة استقلاليته العامة. في الترمينال، تنتقل من وضع إلى آخر بـ Shift+Tab؛ وفي الامتداد، يقوم منتقٍ بالأمر نفسه. الممارسة المعتادة لدى المستخدمين الخبراء: قضاء معظم الوقت في Plan Mode أو Ask Before Edits أثناء مرحلة التفكير.
في Plan Mode، لا يلمس Claude شيئًا: يقرأ ويحلّل ويعرض عليك خطة عمل مفصّلة. وهنا يُحسم كل شيء. تقرأ ما يقترحه، تناقش، تطلب مراجعات: «لماذا هذا النهج وليس ذاك؟»، «أضف خطوة تحقق هنا». ما دامت الخطة غير معتمدة، تبقى في الوضع المقيّد. وبمجرد تثبيت الخطة، تنتقل إلى Auto-Edit (قبول تلقائي للتعديلات) وتتركه ينفّذ بسرعة، دون مقاطعتك عند كل ملف.
- Plan Mode ← مرحلة التصميم: Claude يقرأ ويخطط، لا يعدّل شيئًا. مثالي للمهام المعقّدة أو الجديدة.
- Ask Before Edits (الافتراضي) ← يقترح Claude كل تعديل وينتظر موافقتك. توازن جيد للعمل اليومي.
- Auto-Edit ← مرحلة التنفيذ: الخطة معتمدة، Claude يتقدم دون مقاطعتك عند تعديلات الملفات.
flowchart LR
A["Plan Mode: يقترح Claude"] --> B{"هل اعتُمدت الخطة؟"}
B -->|"لا: نناقش ونراجع"| A
B -->|"نعم"| C["Auto-Edit: تنفيذ سريع"]
C --> D["مراجعة النتيجة"]
D --> E["/clear ثم المهمة التالية"]وضع YOLO: تعامل معه بحذر
هناك درجة أعلى: تشغيل Claude Code بالأمر claude --dangerously-skip-permissions، الذي يعطّل كل طلبات الإذن. الاسم صريح — وهو مُخيف عمدًا. لهذا الوضع استخدامات مشروعة: مهام طويلة ومحددة جيدًا (تصحيح أخطاء lint في 50 ملفًا، توليد كود نمطي) حيث كل مقاطعة تُفسد جدوى الأتمتة.
لكن افهم ما توقّع عليه: يمكن لـ Claude حينها تنفيذ أي أمر دون استشارتك. توصية Anthropic هي حصر هذا الوضع في بيئات معزولة — حاوية Docker، آلة افتراضية، مجلد بلا بيانات حساسة. على جهاز عملك الرئيسي، مع ملفات عملائك الحقيقية، اكتفِ بقوائم السماح: تحصل على 95% من السلاسة مع 5% من المخاطرة.
السياق: ابدأ نظيفًا مع /clear و/compact
كل محادثة مع Claude تعيش داخل نافذة سياق: ذاكرة العمل الخاصة بالنموذج. كل شيء يدخل فيها — رسائلك، وردوده، ومحتوى الملفات المقروءة، ومخرجات الأوامر. هذه النافذة كبيرة لكنها محدودة، والأهم: كلما امتلأت بأشياء لا علاقة لها بمهمتك الحالية، تدهورت الإجابات. يبدأ النموذج بخلط المواضيع، واستحضار قرارات من مهمة سابقة، وفقدان الخيط.
عندما تبدأ مهمة جديدة (ميزة جديدة، تصحيح، موضوع مختلف)، نظّف المحادثة لتبدأ من سياق نقي. يوجد أمران، ولا يفعلان الشيء نفسه:
العادة الصحيحة: /clear افتراضيًا بين المهام، و/compact فقط عندما تكون في منتصف شيء طويل ويحذّرك Claude من امتلاء السياق. لاحظ أن Claude Code يشغّل أيضًا ضغطًا تلقائيًا عندما تقترب النافذة من الامتلاء — لكن الضغط الذي تختاره أنت في اللحظة المناسبة (بعد إنهاء مرحلة، لا في منتصف استدلال) يحافظ على الجودة بشكل أفضل.
الاختصار الذي يعيد تحميل سياقك
«لكن إذا نفّذت /clear، سينسى Claude مشروعي بأكمله!» صحيح — ولهذا يوجد الفصل 8. ملف CLAUDE.md، الذي يُقرأ تلقائيًا عند بداية كل جلسة، يحتوي على السياق الدائم لمشروعك. /clear يمسح ضجيج المحادثة؛ وCLAUDE.md يضمن عودة الجوهر دائمًا.
نصيحة خبير في انتظار ذلك: أنشئ اختصارًا (مثلًا أمرًا صغيرًا باسم qnew) يطلب من Claude إعادة قراءة CLAUDE.md وتلخيص حالة المشروع. هكذا تبدأ كل جلسة بكامل سياق المشروع، دون ضجيج المحادثات السابقة. سترى في الفصل 8 كيف تبني هذا الملف بشكل صحيح.
السياق
سيُنفّذ مشروع ليا الكثير من أوامر القراءة: عرض الملفات، قراءة سجلات النشر، فحص حالات Git. قبل بناء أي مهارة، تريد بيئة سلسة لا يقاطعك فيها Claude إلا عند القرارات الحقيقية. ستضبط الأذونات، ثم تجرّب دورة Plan ← Auto-Edit على مهمة حقيقية.
التعليمات
- اطلب من Claude إضافة الأذونات غير المدمّرة (استخدم الموجّه الوارد في الفصل).
- افتح الملف
.claude/settings.local.jsonالذي تم إنشاؤه واقرأ القائمة: لاحظ صيغةBash(commande:*). - اكتب
/permissionsلرؤية القائمة نفسها من داخل واجهة Claude Code. - انتقل إلى Plan Mode (Shift+Tab) واطلب خطة لـ «تجهيز هيكل المشروع: مجلد للمهارات، ومجلد للسجلات، وملف إعدادات» — لاحظ أنه يخطط بدل أن ينفّذ.
- تحدَّ الخطة: اطلب منه تبرير اختيار ما أو إضافة خطوة.
- انتقل إلى Auto-Edit ودعه ينفّذ الخطة المعتمدة دون مقاطعة.
- اختم بـ
/clearلتبدأ نظيفًا قبل الفصل التالي.
باختصار
- اسمح بالأوامر غير المدمّرة مرة واحدة كي لا تعيد الموافقة عليها: الاحتكاك الآلي يقتل اليقظة.
- تعيش الأذونات في
.claude/settings.local.json(محلي) و.claude/settings.json(مشروع) و~/.claude/settings.json(عام)؛ وdenyتتقدم دائمًا. - ابقَ في Plan Mode للتصميم والنقاش، وانتقل إلى Auto-Edit للتنفيذ السريع (Shift+Tab).
--dangerously-skip-permissionsموجود للمهام الطويلة في بيئة معزولة — أبدًا مع بيانات حساسة./clearبين مهمتين لا علاقة بينهما؛ و/compactفي منتصف مهمة طويلة يمتلئ سياقها.- ضجيج المهام السابقة يفسد الإجابات: السياق النظيف رافعة جودة مجانية.
- CLAUDE.md (الفصل 8) يضمن أن جوهر المشروع يصمد بعد كل
/clear.
اختبار — تحقّق من فهمك
1. متى يجب أن تبقى في Plan Mode؟
2. لماذا ننظّف السياق بين مهمتين؟
3. ما الفرق بين /clear و/compact؟
4. في أي ملف تستقر الأذونات الممنوحة محليًا لمشروع ما؟
5. ما الاستخدام الصحيح لـ --dangerously-skip-permissions؟