Skip to content
Apothem
أدلّة التشغيل

قائمة تحقق التحقق من المزامنة عبر الأجهزة

إجراء تحقق لتأكيد أن محوّل Claude Code يُثبَّت ويُتحقَّق منه ويُزال بشكل صحيح على مضيف جديد، مع فحوص محمولية كاملة.

النطاق. تتحقق قائمة التحقق هذه من طبقة محمولية التثبيت / الإزالة لـمحوّل Claude Code على مضيف ثانٍ جديد. للأدوات الأخرى وصفات تحقق خاصة بكل مضيف موثّقة ضمن site/content/docs/harnesses/<harness>.mdx. المسار ~/.claude/ هو وجهة التثبيت القانونية لمحوّل Claude Code؛ استبدل المسار الأصلي للمحوّل عند التحقق من أداة مختلفة.

تحقق يقوده المشغِّل لطبقة محمولية التثبيت / الإزالة على مضيف ثانٍ جديد. كُتب طور النشر (vX.Y.Z) على مضيف Windows واحد؛ ويحتاج ادعاء محمولية ~/.claude/ (CLAUDE.md portability: universal) إلى تمرين شامل من طرف إلى طرف على مضيف ثانٍ قبل أن يحمل الثابت متعدد المضيفات وزنًا. هذه القائمة هي وصفة التحقق القانونية على المضيف الثاني (محوّل Claude Code).


1. الشروط المسبقة على المضيف الثاني

شغِّل على المضيف الثاني قبل بدء التحقق:

العنصرالأمرالمتوقَّع
Git مثبَّتgit --versionGit 2.40+
Python 3.10+ متاحpython3 --version (POSIX) أو py -3 --version (Windows)3.10 / 3.11 / 3.12 / 3.13
مصادقة GitHub (اختياري، للاستنساخ المصادَق عليه / فحوص الـAPI)gh auth statusمسجَّل الدخول بالحساب المصرَّح له للمستودع عند استخدام سير العمل المصادَق عليه
Shell متاحbash --version (POSIX) أو pwsh --version (Windows)Bash 4+ أو PowerShell 7+
لا يوجد دليل ~/.claude/ مسبقls ~/.claude 2>&1"No such file or directory" — إن وُجد، فاحتفظ بنسخة احتياطية قبل المتابعة

2. التحقق من الاستنساخ والتثبيت

نفّذ على المضيف الثاني:

# Clone the published repo to ~/.claude (the install destination)
git clone https://github.com/ahmed-g-gad/apothem.git ~/.claude
cd ~/.claude

# (POSIX path) Run scripts/installer/install.sh dry-run first
bash scripts/installer/install.sh --dry-run                                    # exit 0; Quick Start banner

# (POSIX path) Run scripts/installer/install.sh for real
bash scripts/installer/install.sh                                               # exit 0; sentinel-file check; idempotent

# (Windows path) PowerShell parallel
pwsh -File scripts/installer/install.ps1 -DryRun                                # exit 0; Quick Start banner
pwsh -File scripts/installer/install.ps1                                        # exit 0

التقط رمز الخروج وشعار stdout لكل أمر. سجِّل في <second-host>/.audit/cross-machine-clone-install.md.

3. انضباط العناصر الأربعة (بحسب src/apothem/rules/production-ready-prs.md §8.3)

تحقق من كل من الثوابت الأربعة على المضيف الثاني:

3.1 أمان ملف الحارس (sentinel)

# Re-run installer at the same destination.
bash scripts/installer/install.sh                                               # POSIX
pwsh -File scripts/installer/install.ps1                                        # Windows

المتوقَّع: يكتشف المُثبِّت ~/.claude/ صالحًا موجودًا (ملف الحارس موجود)، ويقوم بتقديم سريع (fast-forward) بدلًا من إعادة التثبيت أو التكرار؛ رمز الخروج 0.

3.2 مفحوص المتطلبات المسبقة

# Temporarily move git out of PATH.
PATH=/usr/bin:/bin bash scripts/installer/install.sh                            # POSIX (no git)

المتوقَّع: يرفض المُثبِّت التشغيل؛ ويُصدر تشخيص "git not found" صريحًا؛ رمز الخروج غير صفري.

3.3 إعادة تشغيل متماثلة (idempotent)

# Run installer N times back-to-back.
for i in 1 2 3 4 5; do bash scripts/installer/install.sh; done                  # POSIX
1..5 | ForEach-Object { pwsh -File scripts/installer/install.ps1 }              # Windows

المتوقَّع: يخرج كل استدعاء برمز 0؛ لا آثار جانبية بعد الاستدعاء الأول؛ لا ملفات مكرَّرة؛ لا تكرار لـRC الخاص بـshell-profile.

3.4 قابل للتهيئة عبر متغيرات البيئة

# Install to a non-default location.
CLAUDE_PROJECT_DIR=/tmp/alt-claude bash scripts/installer/install.sh            # POSIX
$env:CLAUDE_PROJECT_DIR='C:\tmp\alt-claude'; pwsh -File scripts/installer/install.ps1   # Windows

المتوقَّع: يحترم المُثبِّت متغيّر البيئة؛ ولا يُعدَّل ~/.claude/؛ وتحتوي الوجهة البديلة على التخطيط المتوقَّع.

4. التحقق من حزمة المدقِّقات (بعد التثبيت)

cd ~/.claude
make validate                                                 # 50 conformity validators
make headers-doctor                                           # file-header-grep → passed:true
make ai-surfaces-doctor                                       # multi-surface-coherence → passed:true
make plans-doctor                                             # no-global-plans + plans-discipline-language
make lint                                                     # ruff + mypy
make test                                                     # pytest 265/265

المتوقَّع: كل بوابة خضراء. التقط رموز الخروج + أسطر الملخص.

5. التحقق من الإزالة

# POSIX path — interactive uninstall
bash scripts/installer/uninstall.sh                           # answers: "y" to confirm
ls ~/.claude 2>&1                                             # "No such file or directory"

# Re-install from clone, then uninstall non-interactively
git clone https://github.com/ahmed-g-gad/apothem.git ~/.claude
bash scripts/installer/uninstall.sh --yes
ls ~/.claude 2>&1                                             # "No such file or directory"

المتوقَّع: يطلب التدفق التفاعلي التأكيد؛ ويتخطى --yes المطالبة للتشغيلات الدُّفعية؛ ويترك كلا التدفقين ~/.claude/ مُزالًا بنظافة؛ وتُنظَّف مراجع متغيرات بيئة shell-profile المرافقة.

6. التحقق من حواجز الأمان

# Run uninstall against a path that fails the sentinel-file check.
mkdir -p /tmp/not-a-claude-install
CLAUDE_PROJECT_DIR=/tmp/not-a-claude-install bash scripts/installer/uninstall.sh --yes

المتوقَّع: يرفض المُزيل؛ ويُصدر تشخيص "sentinel-file missing; refusing to remove unsafe target"؛ رمز الخروج غير صفري. لم يُمَسّ المسار.

# Run uninstall against $HOME, /, or empty path.
CLAUDE_PROJECT_DIR=$HOME bash scripts/installer/uninstall.sh --yes 2>&1 | tail -3
CLAUDE_PROJECT_DIR=/ bash scripts/installer/uninstall.sh --yes 2>&1 | tail -3
CLAUDE_PROJECT_DIR='' bash scripts/installer/uninstall.sh --yes 2>&1 | tail -3

المتوقَّع: يرفض كل منها بتشخيص "unsafe target" صريح؛ ولا يمسّ أيٌّ منها نظام الملفات.

7. الإبلاغ

بعد التشغيل على المضيف الثاني، التقط النتائج في:

  • <second-host>/.audit/cross-machine-clone-install.md (نتائج أوامر الاستنساخ + التثبيت)
  • <second-host>/.audit/cross-machine-validators.md (نتائج مدقِّقات القسم 4)
  • <second-host>/.audit/cross-machine-uninstall.md (نتائج الإزالة + الأمان للقسمين 5–6)

اعرض النتائج على المُشرف:

  • ✅ تتحقق كل ثوابت انضباط العناصر الأربعة + كل بوابات المدقِّقات خضراء + رفضت كل حواجز أمان الإزالة الأهداف غير الآمنة ← يُتحقَّق من ادعاء portability: universal الخاص بالنشر من طرف إلى طرف
  • ❌ أي إخفاق ← افتح مشكلة على https://github.com/ahmed-g-gad/apothem/issues/new مع القسم المخفِق + المخرجات الملتقطة؛ ويتولى المُشرف الفرز

8. معايير القبول

  • §1 الشروط المسبقة مستوفاة
  • §2 ينجح الاستنساخ والتثبيت على كل من أصداف POSIX وWindows
  • §3 يتحقق انضباط العناصر الأربعة (أمان ملف الحارس؛ مفحوص المتطلبات المسبقة؛ متماثل؛ قابل للتهيئة عبر متغير البيئة)
  • §4 كل بوابة مدقِّق خضراء
  • §5 تنجح الإزالة التفاعلية؛ وينجح --yes دون مطالبة
  • §6 يُطلَق كل رفض من حواجز الأمان
  • §7 النتائج ملتقطة عند مسارات التدقيق الموثّقة

عندما يُؤشَّر على كل مربع أعلاه على مضيف ثانٍ جديد، تُغلَق متابعة المزامنة عبر الأجهزة (COMPLETION.md §7 القيد المُلزِم).

On this page