تخطَّ إلى المحتوى

تسجيل المستودعات الجديدة

تغطي هذه الصفحة إجراءات تسجيل مستودع جديد في نظام حوكمة docs-control وتكوين أنابيب التوثيق وأتمتة Antigravity الذكية.

  • العضوية في المؤسسة f5-sales-demo
  • أسرار REPO_SETTINGS_TOKEN و REPO_SYNC_TOKEN مكونة كأسرار على مستوى المؤسسة (أو مضافة إلى المستودع الجديد بشكل فردي)
  • أسرار ANTIGRAVITY_TOKEN و GCP_PROJECT_ID مكونة لمراجعة كود طلبات السحب الآلية وترجمة اللغات بواسطة Antigravity الذكية
  • الوصول إلى صورة الحاوية ghcr.io/f5-sales-demo/docs-builder

1. الإضافة إلى downstream-repos.json

Section titled “1. الإضافة إلى downstream-repos.json”

أضف الاسم المباشر للمستودع — وليس owner/repo — في .github/config/downstream-repos.json في docs-control. يتم إضافة المالك عند وقت التوزيع من GITHUB_REPOSITORY_OWNER. يضمن ذلك تسجيله للتوزيع والإنفاذ.

ثم قم بتعيين فئة له في repo_classes.repos في .claude/governance.json. هذا إلزامي: تفشل اختبارات وحدة shell إذا تم تسجيل مستودع للتوزيع بدون تعيين فئة.

2. الإضافة الاختيارية إلى docs-sites.json

Section titled “2. الإضافة الاختيارية إلى docs-sites.json”

إذا كان المستودع سينشر توثيقاً، أضف إدخالاً إلى .github/config/docs-sites.json مع:

  • label — اسم الموقع القابل للقراءة
  • url — الرابط لنقطة نهاية llms-full.txt الخاصة بالموقع
  • description — وصف قصير مستخدم في ملف README المنشأ

إذا لم يتم إضافة أي إدخال، يعود منشئ README إلى اسم مستودع بحروف كبيرة ووصف GitHub API.

يقوم سير عمل الإنفاذ بإعادة كتابة ملف .gitignore التابع بالكامل. قبل التسجيل، ادمج أي إدخالات خاصة بالمستودع في قالب .gitignore في docs-control حتى لا تفقد.

4. تثبيت مسارات العمل المستدعية

Section titled “4. تثبيت مسارات العمل المستدعية”

انسخ قوالب سير العمل المستدعي من workflows/ في docs-control إلى دليل .github/workflows/ الخاص بالمستودع الجديد:

  • enforce-repo-settings.yml — يتسبب في إنفاذ الإعدادات ومزامنة الملفات
  • github-pages-deploy.yml — يتسبب في بناء التوثيق ونشره
  • require-linked-issue.yml — ينفذ ربط طلب السحب بالمشكلة
  • antigravity-review.yml — يتسبب في مراجعة كود طلب السحب بواسطة Antigravity الذكية
  • antigravity-translate.yml — يتسبب في ترجمة اللغات بواسطة Antigravity الذكية
  • super-linter.yml — يشغل مجموعة super-linter على طلبات السحب
  • dependabot-auto-merge.yml — يدمج تلقائياً طلبات سحب dependabot المعتمدة

يتم مزامنة هذه الملفات تلقائياً أيضاً بواسطة سير عمل مزامنة الملفات، ولكن تثبيتها يدوياً يبدأ العملية.

شغل سير عمل الإنفاذ يدوياً في المستودع الجديد:

Terminal window
source_sha=$(gh api repos/f5-sales-demo/docs-control/commits/main --jq '.sha')
gh workflow run enforce-repo-settings.yml --repo f5-sales-demo/<repo-name> -f source_sha="$source_sha"

يطبق هذا جميع إعدادات المستودع، وينشئ أي ملفات حوكمة مفقودة، ويفتح طلب سحب للمزامنة إذا لزم الأمر.

تأكد من نجاح الإنفاذ:

Terminal window
gh run list --repo f5-sales-demo/<repo-name> --workflow enforce-repo-settings.yml --limit 1

تحقق من تكوين حماية الفروع، وصلاحيات Actions، و Pages بشكل صحيح:

Terminal window
gh api repos/f5-sales-demo/<repo-name>/branches/main/protection --jq '.required_status_checks.contexts'

7. التحقق من موقع التوثيق

Section titled “7. التحقق من موقع التوثيق”

إذا كان المستودع يحتوي على دليل docs/، تأكد من إمكانية الوصول إلى موقع التوثيق بعد أول نشر ناجح:

Terminal window
curl -sf "https://f5-sales-demo.github.io/<repo-name>/" && echo "OK" || echo "FAIL"

دقة الفروع (Forks): إلغاء الاشتراك من الملفات المدارة

Section titled “دقة الفروع (Forks): إلغاء الاشتراك من الملفات المدارة”

تقبل معظم المستودعات الخاضعة للحوكمة كل ملف مدار كما هو، ولكن يمكن للفروع النشطة إلغاء الاشتراك من المزامنة في مسارات معينة باستخدام skip_files في repo-settings.json تحت managed_files و .claude/governance.json.