كان الفصل الأول حديثاً عن النموذج الذهني. أما هذا الفصل فحديث عن العمل باليد. والهدف واحد ― أن تصل إلى تمرير أول تعليمة على مستودعك.
الأوامر التي ستكتبها بضعة أسطر. والباقي نصرفه في فهم ما الذي توافق عليه بالضبط. وإن تخطّيت هذا، فستضطرّ إلى الرجوع لاحقاً حتماً.
هناك خمسة مداخل ― من أيها تدخل
يُقدَّم Claude Code عادةً بوصفه «أداة طرفية»، لكن مداخله خمسة. والمحتوى واحد، وإنما يختلف الغلاف.
الأصل. تكتب claude فحسب. وهي مرجع هذه الدورة.
يسكن داخل المحرّر. وتقرأ الفروق بالمظهر الذي اعتدته.
يُركَّب في بيئات IntelliJ. فإن كنت تطوّر هناك، فلا حاجة إلى الانتقال.
تستعمله دون فتح طرفية. وتختار النمط من المُحدِّد بجانب خانة الإدخال.
تصل إليه حتى دون بيئة تطوير عندك. والتبديل هنا أيضاً من المُحدِّد.
ننصحك بالطرفية في الساعة الأولى. والسبب ليس الراحة بل كمّ المعلومات. فرسائل التعثّر تظهر خاماً كما هي، والحلول مكتوبة أصلاً على افتراض الطرفية. أما التمييز بينه وبين المدمج في المحرّرات (مثل Cursor وGitHub Copilot) ففي الفصل الأول من دورة البرمجة بالذكاء الاصطناعي.
التثبيت
المعيار هو npm. فإن كان Node.js مثبّتاً لديك انتهى الأمر بسطر واحد (وإن أظهر node -v رقم النسخة فأنت جاهز). ومعنى -g هو «ثبّته بحيث يمكن استدعاؤه من أي مجلد».
npm install -g @anthropic-ai/claude-code
claude
وفي البيئات التي يُمنع فيها npm بسبب وسيط أو قيد إقليمي، يمكنك التثبيت من مدير الحزم بدلاً منه.
brew install --cask claude-code # macOS / Homebrew
winget install Anthropic.ClaudeCode # Windows / WinGet
اثبت على طريقة تثبيت واحدة. فإن ثبّته بـnpm ثم ثبّته مرة أخرى بـHomebrew، ظهر لك Multiple claude installations found. وألّا تعرف أيّهما يعمل يجعل كل تشخيص بعد ذلك أصعب. والمتطلبات تختلف باختلاف البيئة، فإن ترددت فارجع إلى الوثائق الرسمية.
تسجيل الدخول ― بحساب أم بمفتاح API
تختار عند أول تشغيل طريقة الدخول. فمع حساب Claude يُفتح المتصفح، وما إن تسجّل الدخول وتمنح الإذن حتى تكتمل المصادقة. وما تنفقه حينها هو حصّة خطّتك، ويظهر على شكل حدود ومواعيد إعادة تعيين. أما مفتاح API فيعمل بـرصيد لا بحصّة، ويتوقّف حين ينفد. الاستعمال الشخصي يميل إلى الأول، والتكامل المستمر والأتمتة إلى الثاني.
وأيّهما متاح لك يعتمد على عقدك، فلا نجزم. وليس هنا إلا نقطة واحدة عليك أن تحفظها.
مفتاح API الموضوع في متغيّرات البيئة له الأولوية على تسجيل الدخول بالاشتراك. فإن كنت قد كتبت ANTHROPIC_API_KEY في إعداد الصدفة أثناء تجربة قديمة ثم نسيته، فإن تسجيل دخولك الصحيح يُتجاهَل لصالحه. ومعظم حالات «لديّ اشتراك ومع ذلك يقول رصيد غير كافٍ» سببها هذا.
وأمّا بأي بيانات اعتماد تعمل الآن فيجيب عنه /status. انظر قبل أن تشكّ.
/status # بأي بيانات اعتماد أعمل الآن
env | grep ANTHROPIC # هل ما زال هناك مفتاح في متغيّرات البيئة
unset ANTHROPIC_API_KEY # إن وُجد فأزله. واحذفه من ملف الإعداد أيضاً
/login # سجّل الدخول من جديد ثم تأكّد بـ /status
ما الذي يحدث عند أول تشغيل
بعد اكتمال المصادقة، انتقل أولاً إلى المجلد الذي تريد العمل فيه ثم شغّله. فـClaude Code يعدّ «المجلد الذي أنت فيه» هدف العمل، فإن أخطأت بدأ يقرأ مكاناً لا صلة له.
cd my-project
claude
شاشة انتظار الإدخال هي باب الحوار. وننصحك هنا بألّا تطلب إعادة كتابة من فورك. اجعل خطوتك الأولى طلباً ينتهي عند القراءة فقط ― «اقرأ README والأدلة الرئيسية واشرح ماذا يفعل هذا المشروع».
والأسباب ثلاثة. القراءة لا تستدعي تأكيداً حتى في الوضع الافتراضي، فتمرّ قبل أن تعرف آداب الموافقة. وأنت تعرف هذا المشروع، فتستطيع تصحيح الجواب بنفسك. وهي تختبر الاتصال والمصادقة ومجلد العمل دفعة واحدة دون أن تكسر شيئاً. فإن بدا شيء غريباً، أمكنك تسويته قبل الانتقال إلى الكتابة.
حلقة التعليمة ثم الفروق ثم الموافقة
ومتى نجحت القراءة، اطلب إعادة كتابة صغيرة. ومن هنا فصاعداً هي النقرات الأربع نفسها في كل مرة.
تقول ما تريد بلغتك مباشرةً. وإن استطعت تحديد أين يُصلَح فحدّده.
يبحث عن الملفات ذات الصلة ويقرؤها. وهذا STEP 1 من الفصل الأول.
يظهر «سأغيّر هذا إلى هذا» سطراً سطراً، ثم يتوقّف هناك.
إن أجزته طُبِّق. وإن اختلف فارفضه وقل بالكلمات ما الخلل.
You: "Add a Windows section to the README"
↓
[SEARCH] look for the README ← read. no stop
↓
[READ] read README.md ← read. no stop
↓
[EDIT] add 3 lines to README.md ← a diff appears, and it stops
↓
You: approve / decline and say what to change
الرفض ليس فشلاً. فلأنك تستطيع أن تكون محدّداً بعد رؤية الفروق، لست مضطرّاً إلى إتقان التعليمة الأولى ― وهذا هو ما يجعل هذه الصيغة جيّدة.
اجعل كل طلب «بحجم فروق تستطيع قراءتها كاملة». فكلما كبر الطلب طالت الفروق، والفروق الطويلة يُوافَق عليها دون قراءة. والموافقة التي تُضغط دون قراءة ليست موافقة، بل موافقة تلقائية. أما كيفية التقسيم فيتناولها الفصل الثالث.
بأي نمط تبدأ
الذي يحدّد أين يتوقّف هو نمط الأذونات. في الطرفية تبدّله بـShift+Tab، وفي VS Code وسطح المكتب والمتصفح من المُحدِّد بجانب خانة الإدخال.
القراءة تلقائية. والتعديل وتشغيل الأوامر يستأذنان في كل مرة. وهذا نمط يومك الأول.
يمرّر التعديلات داخل مجلد العمل تلقائياً. لمن يقرأ الفروق مجمّعةً لاحقاً.
يبحث لكنه لا يعدّل الشيفرة المصدرية. ومتى وافقت على الخطة انتقل إلى التنفيذ.
نموذج تقييم منفصل يوقف العمليات الخطرة فقط، ويمضي الباقي بلا تأكيد. بشروط.
لا تأكيد ولا فحص أمان. لبيئات العزل حصراً. وليس مما تلمسه في يومك الأول.
الذي يدور عليه Shift+Tab هو الأنماط الثلاثة الأولى. والنمط التلقائي ينضمّ إلى الدورة متى تحقّقت شروطه، ويظهر في المرة الأولى تأكيد اشتراك صريح. أما تجاوز الأذونات فلا يفعل إلا حين تشغّله براية مخصّصة. وإن أردت تثبيته منذ التشغيل فحدّد claude --permission-mode plan. وإلى جانب ذلك يوجد نمط dontAsk (لا ينفّذ إلا ما سمحت به) لا يظهر في المُحدِّد، وهو للإعداد وسطر الأوامر فقط.
وجواب اليوم الأول هو «اتركه على الافتراضي». فكل تأكيد يظهر لك تمرين على تمييز «هل هذا قراءة أم كتابة أم تنفيذ». وحين تتقن التمييز تُرخي القيد ― أما العكس فيعني أنك أرخيت شيئاً لا تعرف ما هو. والنمط الثاني هو نمط التخطيط.
هناك مواضع محميّة في كل الأنماط. فالكتابة في مسارات حسّاسة مثل .git و.claude وملفات إعداد الصدفة لا تُعتمَد تلقائياً في أي نمط عدا تجاوز الأذونات. فليس صحيحاً أن «الإرخاء يُرخي كل شيء».
تفاصيل كل نمط في مقال شرح أنماط الأذونات، وطريقة كتابة السماح والمنع لكل أداة على حدة في مقال قواعد الأذونات والإعدادات. على أن جواب «التأكيدات مزعجة» ليس التجاوز. فذاك لا يحمي من خطأ يدك ولا من تعليمات مدسوسة فيما يقرؤه. وإن أردت تقليلها فاكتب أولاً قاعدة تسمح بالعمليات الموثوقة وحدها. والتصميم في الفصل الخامس.
CLAUDE.md ― كي لا تعيد الكلام كل مرة
بعد يومين من الاستعمال تنتبه إلى أنك «تكرّر التنبيه نفسه كل مرة». «لا تلمس هذا المجلد»، «مرّر lint قبل الالتزام» ― وكتابة ذلك في كل مرة إهدار للوقت وللسياق معاً. ولذلك ضع ملف CLAUDE.md في جذر المشروع. فـClaude Code يقرؤه تلقائياً عند التشغيل ويعمل على أساس ما فيه.
# هذا المشروع
- TypeScript / Next.js. ومدير الحزم npm
- الردود والتعليقات داخل الشيفرة بالعربية
## لا تلمس
- كل ما تحت src/legacy/ (يديره فريق آخر)
- ملف .env وما يتفرّع عنه
## التحقّق
- بعد أي تغيير مرّر npm run lint وnpm test
- لا تقل «انتهى» وثمة أخطاء أنواع باقية
وما تكتبه فيه يحدّده معيار «ما لا سبيل للذكاء الاصطناعي إلى معرفته».
بأي أمر يتأكّد. وهذا أعظمها أثراً لأنه يجعل STEP 3 من الفصل الأول ممكناً أصلاً.
الملفات المولَّدة ومناطق الفرق الأخرى وما يحوي أسراراً. وقواعد مثل «الصفحات الجديدة توضع هنا» مما لا تدلّ عليه الشيفرة.
من نوع «اكتب شيفرة سهلة القراءة». لا يمكن الحكم على الالتزام بها، وهي تُميّع الأسطر التي تريد فعلاً أن يلتزم بها.
وطريقة تنميته محدّدة أيضاً. ابدأ بأسطر قليلة، وكلما نبّهت على الشيء نفسه مرتين أضف سطراً. فمحاولة الإحاطة بكل شيء تنتج ملفاً طويلاً غامضاً لا يُلتزَم به. وسبب «عدم الالتزام» في الغالب أحد ثلاثة: كثرة القواعد، أو إفراطها في التجريد، أو تناقضها.
وقواعد الأذونات واختيار النموذج يمكن توزيعها بين .claude/settings.json (للمشروع) و~/.claude/settings.json (لك شخصياً)، لكن يكفيك في يومك الأول أن تكتب بضعة أسطر في CLAUDE.md. أما التمييز بينها ففي الفصل السادس.
أكثر ثلاثة أشياء تتعطّل في اليوم الأول
للتعثّر أنماط متكرّرة، وفي اليوم الأول تكاد تنحصر في هذه الثلاثة.
مثبَّت فعلاً لكنه ليس في موضع يمكن استدعاؤه منه. أضف ~/.local/bin (وعلى Windows %USERPROFILE%\.local\bin) إلى PATH. وقد يكون السبب تثبيتاً مكرّراً.
الحالة الكلاسيكية: ANTHROPIC_API_KEY قديم يطغى على الاشتراك. تأكّد بـ/status، ثم أزل متغيّر البيئة وسجّل الدخول من جديد.
يستهلك Claude Code من 10 إلى 100 ضعف ما تستهلكه المحادثة من الرموز. والسبب تراكم الجولات وقراءة الملفات.
وفي الثالثة سوء فهم شائع. فالرسالة التي معناها «الخادم يقيّد الطلبات مؤقتاً» هي خنق مؤقّت من جهة الخادم لا حصّة خطّتك، وتمرّ إن انتظرت قليلاً. أما بلوغ الحصّة فعلاً فيميّزه /usage.
claude doctor # تشخيص شامل للتثبيت والإعداد وMCP والسياق
/status # بأي مصادقة أعمل الآن
/context # تفصيل ما الذي يلتهم السياق
claude update # إن أشكل الأمر فارتقِ إلى الأحدث (يُصلح كثيراً)
وclaude update الأخير فعّال على تواضعه. فثمة أعطال كثيرة تزول بمجرّد رفع النسخة، وتمريره قبل أن تبدأ البحث يوفّر عليك مطاردة مشكلة لم تعد قائمة. أما المعالجة حسب العرَض ففي مقال الأخطاء الشائعة وحلولها. وإجراء التشخيص يتناوله الفصل الرابع.
الخلاصة
- المداخل خمسة. والمحتوى واحد، لكن الطرفية أفضل في الساعة الأولى لغزارة ما تخبرك به
- التثبيت المعياري
npm install -g @anthropic-ai/claude-code. فإن لم يمرّ فـHomebrew أو WinGet. واثبت على طريقة واحدة - الدخول إما بـحساب (حصّة) وإما بـمفتاح API (رصيد). ومفتاح متغيّرات البيئة يطغى على الاشتراك ― فإن ترددت فـ
/status - الخطوة الأولى طلب قراءة فقط. يختبر الاتصال والمصادقة ومجلد العمل دفعة واحدة دون أن يكسر شيئاً
- ما تديره هو التعليمة ثم الفروق ثم الموافقة. وقسّم الطلب إلى حجم فروق تقرؤها كاملة. والموافقة بلا قراءة موافقة تلقائية
- نمط اليوم الأول هو الافتراضي (طلب الإذن)، والثاني نمط التخطيط. والمسارات المحميّة مثل
.gitمحفوظة دائماً في كل نمط عدا التجاوز - ضع
CLAUDE.mdفي الجذر ببضعة أسطر. اكتب فيه خطوات التحقّق والمواضع الممنوعة وأعراف المكان، ولا تكتب العموميات - تعثّر اليوم الأول هو PATH ومفتاح متغيّرات البيئة والاستهلاك. والخطوة الأولى
claude doctorثم/statusثم/context
ومتى مرّت أول تعليمة، جاء دور وضع ذلك في عملك اليومي. انتقل إلى الفصل الثالث «سير العمل اليومي».