Claude Code · جلسات متوازية · Worktrees · Projects

خلّيت Claude يشتغل على 3 مهام بنفس الوقت… ونمت

الميزة اللي سمّيتها بالريل «Projects» موجودة فعلاً، بس على claude.ai/code (نسخة تجريبية عامة لمشتركي Pro وMax). أما على جهازك، فالطريقة الرسمية لتشغيل 3 جلسات بنفس الوقت اسمها git worktrees. هاد الدليل بيعطيك خطة تقسيم المهام اللي بتشتغل بدون تعارض بالحالتين: شو تحضّر قبل ما تنام، كيف تشغّل التلاتة بأمان، وشو تعمل الصبح.

شو هي Projects فعلاً؟ وشو بدك إنت؟

اللي حكيته بالريل«مشروع واحد بيشغّل جلسات متوازية بذاكرة مشتركة، وكل وحدة بتشوف اللي عملته التانية». والهدية القديمة كانت تطبع أمر claude project new … --sessions 3. هالأمر مش موجود بـ Claude Code، وما تدوّر عليه.
اللي بيقوله التوثيقProjects على claude.ai/code: محادثة وحدة بتنسّق، وبتفتح «threads» (جلسات سحابية). كل thread بتشتغل على branch خاص فيها وبتفتح PR لحالها، وبتقرأ ذاكرة المشروع (ملف MEMORY.md) لما تبلّش. الـ threads بترجع تقرير للمحادثة الأم، بس ما بتشوف تعديلات بعضها لحظة بلحظة.

يعني «الذاكرة المشتركة» الحقيقية هي تعليمات مكتوبة بتنقرأ أول كل جلسة، مش شاشة مشتركة. وهاد بالضبط اللي بيخلي التقسيم الصح أهم من الأداة. عندك 3 طرق تشغّل 3 جلسات:

01
على جهازك
Worktrees: نسخة من المشروع لكل جلسة، كل وحدة على branch. مجاني ومتاح للكل.
02
بالسحابة
claude --cloud لكل مهمة: بتكمّل حتى لو سكّرت اللابتوب.
03
Projects
نفس الفكرة بس من محادثة منسّقة على claude.ai/code. Pro وMax هلأ.

الخطة تحت بتشتغل مع التلاتة، لأنها عن تقسيم الشغل مش عن الزر اللي بتكبسه.

10 دقايق تحضير

التعارض ما بيصير بالليل، بيصير وإنت بتختار المهام. هون بتمنعه.

1

اختار 3 مهام ما بتلمس نفس الملفات

القاعدة الوحيدة: كل جلسة إلها مجلد (أو مجموعة ملفات) ما حدا غيرها بيلمسها. إذا مهمتين بدهن نفس الملف، هدول مهمة وحدة مش اثنتين.

التقسيممثالليش؟
صحالجلسة 1: صفحة الدفع (app/checkout/) · الجلسة 2: اختبارات الصفحات الموجودة (tests/) · الجلسة 3: التوثيق (docs/)3 مجلدات، ولا ملف مشترك.
صح3 ميزات صغيرة بـ 3 صفحات مختلفة، كل وحدة بملفاتهامستقلة، وبتندمج بالصبح بدون صداع.
غلطالجلسة 1: صفحة الدفع · الجلسة 2: اختبارات صفحة الدفعالتانية بتختبر كود لسا عم ينكتب، وبتغيّر رأيها كل ساعة.
غلطأي مهمتين بتعدّلوا package.json أو الـ schema أو ملفات الإعداداتأول ملف مشترك = تعارض مضمون عند الدمج.
غلط«حسّن الأداء» أو «نظّف الكود»مهمة بدون حدود بتلمس كل شي، والجلسات التانية بتلاقي ملفاتها متغيّرة.
اختبار بسيط قبل ما تبلّش: اكتب المهام التلاتة واكتب جنب كل وحدة المجلدات اللي رح تلمسها. إذا تكرر مجلد، عدّل التقسيم.
2

القواعد المشتركة: CLAUDE.md وبرومت كل جلسة

اللي بدك كل الجلسات تعرفه بيروح بملف CLAUDE.md: بينقرأ أول كل جلسة، وبيشتغل بكل الـ worktrees لأنه جزء من المشروع. عندك 3 مستويات:

المستوىالمسارلمين
المشروع./CLAUDE.md أو ./.claude/CLAUDE.mdكل اللي بيشتغل عالمشروع (بينحفظ بـ git). هون بتحط قواعد الليلة.
إنت~/.claude/CLAUDE.mdكل مشاريعك.
محلي./CLAUDE.local.mdإلك بس بهالمشروع، ما بينرفع.

وبتقدر تضيف ملف ثاني بسطر @path/to/file.md (لحد 4 مستويات). وفي كمان «الذاكرة التلقائية» بمجلد ~/.claude/projects/<project>/memory/ بفهرس MEMORY.md: مشتركة بين الـ worktrees لنفس المشروع، بس هي ملاحظات، مش حالة حيّة.

ضيف هالمقطع لـ CLAUDE.md قبل ما تنام (وعدّل أسماء المجلدات):

# Tonight: 3 parallel sessions (checkout / tests / docs) - Each session edits ONLY its own folder: app/checkout/, tests/, docs/. - Do not touch package.json, the database schema, .env files or CI config. - Never run git push, git reset --hard, rm -rf, or any database command. - Run the project's tests before you finish (npm test). - When done, write SUMMARY-<session>.md in your folder: what changed, what failed, open questions.

وبرومت كل جلسة على نفس القالب. الهدف بجملة وحدة بتنقاس، المجلد المسموح، الممنوع، والملخص:

مهمتك الليلة: اعمل صفحة الدفع بحيث تشتغل من أول خطوة لحد تأكيد الطلب، وتمرّ اختباراتها. المجلد المسموح: app/checkout/ فقط. أي ملف برّا هالمجلد ما تعدّله، وإذا احتجت تعديل برّاه اكتبه بالملخص كسؤال. ممنوع: git push، أي أمر حذف، تعديل الـ schema أو ملفات .env أو package.json. اشتغل بخطوات صغيرة، وشغّل الاختبارات بعد كل خطوة. بالآخر اكتب ملف SUMMARY-checkout.md فيه: شو تغيّر (قائمة ملفات)، شو فشل، وشو بده قرار مني.
  • «بتنقاس» يعني بتعرف الصبح بثانية إذا خلصت: «الاختبارات خضرا» أفضل من «حسّن الصفحة».
  • الممنوعات بالبرومت وبـ CLAUDE.md الاثنين: التكرار هون مقصود.
  • الملخص بملف لأنك بدك تقرأه الصبح من أي مكان، حتى لو الجلسة سكّرت.
3 نوافذ، 3 نسخ، 3 مهام

الطريقة الرسمية على جهازك اسمها worktrees: نسخة كاملة من المشروع لكل جلسة، كل وحدة على branch.

3

على جهازك: worktrees

افتح 3 نوافذ terminal بمجلد المشروع، وبكل وحدة شغّل Claude Code بـ worktree باسم المهمة:

claude --worktree checkout claude --worktree tests claude --worktree docs
  • شو بيصير: لكل جلسة نسخة بمجلد .claude/worktrees/<name>/ على branch اسمه worktree-<name>، مبنية من الـ branch الأساسي. الاختصار -w، وبدون اسم بيختار اسم لحاله.
  • أول مرة: ضيف .claude/worktrees/ لملف .gitignore عشان النسخ ما تنرفع.
  • عند الخروج: إذا الجلسة ما غيّرت شي بتنحذف النسخة لحالها (الجلسة اللي إلها اسم بتسألك أول). إذا في شغل، بيسألك: تخلّيها ولا تشيلها؟ وبيطبعلك أمر الرجوع: claude --worktree <name> --resume.

بديل بدون 3 نوافذ: شغّلهم بالخلفية بأمر واحد لكل مهمة، وراقبهم من شاشة وحدة:

claude --bg --name checkout "[task 1]" claude --bg --name tests "[task 2]" claude --bg --name docs "[task 3]" claude agents

الجلسات اللي بالخلفية بتشتغل بـ worktrees كمان، وclaude agents بيوريك حالتهم. أما /tasks جوّا الجلسة فبيوريك شغل الخلفية لهالجلسة بس (الـ subagents مثلاً)، مش الجلسات التانية. وإذا بدك الطريقة اليدوية: git worktree add ../project-checkout -b checkout وبعدها claude جوّا المجلد.

ليش worktree مش 3 جلسات بنفس المجلد؟ لأن 3 جلسات بنفس المجلد بتعدّل نفس الملفات على نفس الـ branch، وإنت نايم. الـ worktree بيعطي كل وحدة نسختها، والدمج بيصير الصبح وإنت صاحي.
4

بالليل بدون ما تراقب… بأمان

الجلسة العادية بتوقف وبتسألك قبل التعديلات. عشان تكمّل وإنت نايم، شغّلها بوضع «print» بمهمة واحدة وحد أقصى للدورات، جوّا الـ worktree:

claude -w checkout -p "[task 1]" --permission-mode acceptEdits --max-turns 30 --output-format json > checkout.json
  • -p بينفّذ المهمة وبيطلع. من النسخة 2.1.302، -p بدون وضع صلاحيات بيبلّش بالوضع اليدوي، وأي طلب صلاحية بينرفض: يعني لازم تحدّد الوضع.
  • --permission-mode acceptEdits بيوافق على تعديل الملفات لحاله. انتبه: هالوضع بيوافق كمان على أوامر الملفات الشائعة جوّا المشروع: mkdir, touch, rm, rmdir, mv, cp, sed. يعني rm جوّا الـ worktree بيمشي بدون سؤال. لهيك: branch منفصل، وcommit قبل ما تنام.
  • --permission-mode auto بديل: بيقرر لحاله شو يوافق عليه (بده Opus 4.6 أو أحدث، وبعض الخطط بتفعّله تلقائياً). التوثيق بيحكي حرفياً: «الوضع التلقائي بيقلل أسئلة الصلاحيات بس ما بيضمن الأمان».
  • --max-turns 30 حد أقصى للدورات، وبيطلع بخطأ لما يوصله: أحسن من جلسة بتلف للصبح. و--output-format json بيعطيك النتيجة بملف تقرأه بعدين.
ما تستعمل --dangerously-skip-permissions على جهازك. التوثيق بيحكي: «استعمل هالوضع بس ببيئة معزولة زي container أو VM بدون إنترنت، وين ما بيقدر Claude Code يأذي جهازك»، و«هالوضع ما بيحمي من الـ prompt injection ولا من الأفعال غير المقصودة». ولا تشغّل أي جلسة ليلية على سيرفر حقيقي، مهما كانت المهمة صغيرة.

قائمة الأمان قبل ما تنام: commit لكل شي ← كل جلسة بـ worktree ← الممنوعات مكتوبة بـ CLAUDE.md ← --max-turns محدد ← النسخة الاحتياطية لقاعدة البيانات برّا الجهاز.

5

بالسحابة: Cloud أو Projects

إذا بدك تسكّر اللابتوب وتنام فعلاً، خلّي الجلسات تشتغل عند Anthropic مش عندك. من مجلد المشروع:

claude --cloud "[task 1]" claude --cloud "[task 2]" claude --cloud "[task 3]"
  • كل أمر جلسة سحابية لحالها ببيئتها، وبتكمّل بعد ما تسكّر الجهاز. بتتابعها من claude.ai/code أو من التطبيق. متاحة لـ Pro وMax وTeam (وEnterprise بالمقاعد المميزة).
  • Projects نفس الفكرة بس منسّقة: بتفتح مشروع على claude.ai/code، بتحكي الـ 3 مهام بمحادثة وحدة، وهي بتفتح thread لكل مهمة على branch خاص وبترجعلك PR لكل وحدة. نسخة تجريبية عامة لـ Pro وMax، ومش على Team وEnterprise لسا.
  • Remote Control مش سحابة: claude --remote-control بيخليك تتحكم من موبايلك بجلسة شغّالة على جهازك. يعني لو الجهاز نام، الجلسة نامت.
قهوة ومراجعة

3 مهام خلصانة، بس ولا وحدة بتدخل المشروع قبل ما تقرأها.

6

راجع، ادمج، ولخّص

1. شوف مين خلص: claude agents للجلسات اللي بالخلفية، وملفات SUMMARY-*.md اللي طلبتها بالبرومت. بعدها شوف شو تغيّر بكل branch:

git branch --list "worktree-*" git diff main...worktree-checkout --stat git log worktree-checkout --oneline

2. ادمج اللي رضيت عنه، وشيل النسخ:

git merge worktree-checkout git worktree remove .claude/worktrees/checkout

الجلسة اللي شغّلتها بـ -p ما بتنظّف وراها، فـ git worktree remove عليك (ضيف --force إذا فيها تغييرات مش محفوظة). الجلسات اللي بالخلفية بتنمسح لحالها بعد مدة cleanupPeriodDays.

3. بدك ملخص من الجلسة نفسها؟ رجّعها بالاسم واسألها:

claude -p --resume checkout "لخّصلي شو تغيّر، شو فشل، وشو بده قرار مني" --output-format json
/compact
بيلخّص المحادثة الحاليةوبتقدر تحكيله شو يحتفظ فيه: /compact + تعليماتك
/export
بيحفظ المحادثة كاملة بملف/export checkout.md
claude --resume
بيفتحلك قائمة الجلسات ترجع لوحدةأو بالاسم مباشرة: claude -r checkout
claude --continue
آخر جلسة بهالمجلدالاختصار -c، وجوّا الجلسة /resume
claude -n checkout
بيعطي الجلسة اسم من البدايةأو /rename جوّاها. الاسم هو اللي بتستعمله بـ --resume
7

الاستهلاك: 3 جلسات على نفس الحد

حدود خطتك (الـ 5 ساعات والأسبوعي بـ Pro وMax) مشتركة بين كل جلسات Claude وClaude Code على حسابك. التوثيق بيحكي عن الجلسات السحابية: «تشغيل مهام متوازية بيستهلك من الحدود بشكل متناسب»، وعن Projects: «بتسحب من نفس حدود خطتك وبتستهلكها أسرع».

مش 3× بالضبط
الاستهلاك بيمشي مع عدد الطلبات وحجم السياق، مش مع عدد النوافذ. 3 مهام صغيرة أرخص من مهمة وحدة بتقرأ نص المشروع.
راقبه
/usage بيوريك تكلفة الجلسة وحدود الخطة (الأسماء التانية: /cost و/stats).
وفّر
هدف واضح + مجلد محدد = أقل قراءة وأقل دورات. و--max-turns سقف ما بيتجاوزه.
إذا خلص الحد
الجلسات التلاتة بتوقف مع بعض. ابدأ بالمهمة الأهم أول، والتانيتين بعدها.
8

أخطاء بتخلي الجلسات تتعارض

3 جلسات بنفس المجلدكل وحدة بتعدّل نفس الملفات على نفس الـ branch، وبتصحى على مشروع ما بيشتغل.
worktree لكل جلسةclaude --worktree <name>: نسخة وbranch لكل مهمة، والدمج الصبح.
مهمة بدون حدود«حسّن المشروع» بتلمس كل شي، وبتخرب شغل الجلستين التانيتين.
هدف بجملة + مجلد واحد«صفحة الدفع تشتغل والاختبارات خضرا، جوّا app/checkout/ بس».
تتوقع إنهم بيشوفوا بعضبتخلي جلسة الاختبارات تستنى كود جلسة الدفع. ما رح توصلها.
مهام مستقلة الليلةاختبارات الصفحات الموجودة، واختبارات الصفحة الجديدة بكرة بعد الدمج.
  • ما عملت commit قبل ما تنام: أول شي بيخليك ترجع بثانية إذا صار شي.
  • -p بدون --permission-mode: كل الطلبات بتنرفض وبتصحى على لا شي.
  • --dangerously-skip-permissions على جهازك: للـ containers والـ VMs المعزولة بس.
  • نسيت .claude/worktrees/ بالـ .gitignore: نسخ كاملة من المشروع بتطلع بأول commit.
  • شغّلت الليلية على السيرفر الحقيقي: ولا مرة، حتى لو «بس توثيق».
?

أسئلة شائعة

الجلسات بتشوف تعديلات بعضها؟
لا. كل worktree نسخة لحالها، والـ threads بـ Projects بترجع تقرير للمحادثة الأم مش تعديلات حيّة. المشترك هو اللي مكتوب: CLAUDE.md والذاكرة التلقائية. لهيك قسّم مهام مستقلة.
بزبط على Windows؟
إيه، الـ worktrees والجلسات الخلفية بتشتغل عادي. اللي مش متاح على Windows الأصلي هو الـ sandbox (العزل على مستوى النظام)، فخلّي قواعد الممنوعات بـ CLAUDE.md وقواعد الصلاحيات هي حمايتك، أو شغّله من WSL2.
بيكلّف 3 أضعاف؟
بيستهلك من نفس حد الخطة، و«أسرع» حسب التوثيق، بس الرقم بيعتمد على حجم كل مهمة مش على عدد الجلسات. مهمة وحدة بتقرأ المشروع كله ممكن تكلّف أكتر من 3 مهام محددة. راقب بـ /usage.
وإذا جلستين عدّلوا نفس الملف رغم كل شي؟
بتكتشفه الصبح عند الدمج كتعارض git عادي، مش كمشروع مكسور. ادمج الأهم أول، وبعدها افتح جلسة عادية واطلب منه: «ادمج branch worktree-docs وحل التعارضات بملف كذا بحيث يظل تعديل الدفع زي ما هو».
Projects متاحة على Team أو Enterprise؟
لسا لا: نسخة تجريبية عامة لـ Pro وMax حسب التوثيق. الجلسات السحابية بـ claude --cloud متاحة لـ Team، ومع Enterprise بالمقاعد المميزة. والـ worktrees للكل.
شو الخطوة اللي قبل هاي؟
إذا لسا ما ثبّته: تثبيت Claude Code. وإذا بدك توازي جوّا جلسة وحدة بدل 3 جلسات: الـ Subagents. ولفهم شو بيصير جوّا الجلسة: خريطة Claude Code.
✓ تم النسخ

Get the next guide first

Leave your email and new guides reach you as soon as they are out. No spam.

Your email stays with me, and you can ask me to delete it any time.