عن المشروع

AI Rules هي أداة سطر أوامر للحفاظ على تكوين عدة وكلاء برمجة بالذكاء الاصطناعي في موقع واحد تتبّعه Git، وربطه بمجلد التكوين المتوقع لكل وكيل عبر روابط رمزية. الهدف المعلن هو "التحرير مرة واحدة والتطبيق في كل مكان" مع السماح بالتخصيص لكل وكيل ولكل جهاز. الوكلاء المدعومون ومجلدات تكوينهم: - Amp: ~/.config/amp/ (المهارات في ~/.config/agents/skills/) - Claude Code: ~/.claude/ (المهارات في ~/.claude/skills/) - Codex CLI: ~/.codex/ (المهارات في ~/.agents/skills/) - Gemini CLI: ~/.gemini/ (يكتشف المهارات عبر ~/.agents/skills/) - Goose: ~/.config/goose/ (المهارات في ~/.config/goose/skills/) - مواد مشتركة مثل AGENTS.md والمهارات يتطلب التثبيت Python 3.10+ و uv. المسار الموصى به هو إعداد بأمر واحد من PyPI (uvx --from ai-agent-rules ai-agent-rules setup)، والذي يقوم بتثبيت الروابط الرمزية، ويجعل أمر ai-agent-rules (والاختصار ai-rules) متاحًا على مستوى النظام، ويختار تثبيت أدوات مساعدة بشكل اختياري. يقوم الخيار --github بالتثبيت من الفرع الرئيسي بدلاً من ذلك، بينما يستخدم التطوير المحلي الأمر uv run ai-agent-rules install. يتحقق أمر الترقية من وجود التحديثات ويثبّتها، مع خيارات للتحقق فقط، أو الإجبار، أو تخطي التثبيت بعد الترقية، أو ترقية أداة محددة فقط. تغطي الأوامر الأساسية الإعداد، والتثبيت/المزامنة، والحالة والفحص، والتكوين، والاستثناءات والتجاوزات، والمهارات، والأدوات، وإكمال الأوامر للصدفة. سلوكيات بارزة: - يدعم install اختيار وكلاء محددين، ومعاينات التشغيل التجريبي، والتأكيد التلقائي، وإعادة بناء التخزين المؤقت، واختيار الملف الشخصي. - تقدم status تقريرًا عن حالة الروابط الرمزية، والأدوات الاختيارية، والملف الشخصي النشط مع رموز الحالة والفروق؛ وتتحقق validate من وجود ملفات المصدر؛ ويزيل uninstall الروابط الرمزية. - تعرض config init/show/edit الإعدادات الخام أو المدمجة، بشكل اختياري لكل وكيل. - تدير exclude add/remove/list أنماط glob للملفات التي يجب عدم ربطها رمزيًا (مثل الملفات التي تديرها الشركة). - يعدل override set/unset/list الإعدادات المتداخلة، بما في ذلك تدوين فهرس المصفوفة للهياكل مثل مصفوفات أوامر الخطافات، مع التحقق من المسار الذي يقترح مفاتيح صالحة عند وجود أخطاء إملائية. - تعرض skill list/show المهارات المضمنة، ويمكنها طباعة عنوان URL لنسخة GitHub للمشاركة، أو إصدار Markdown خام للأنابيب. - تدير tool list/show و tool source get/set الأدوات الاختيارية ومصدر تثبيتها (pypi، github، مسار محلي، إعادة تعيين). - يتم توفير completions install/uninstall/update/status ومخرجات سكربتات bash/zsh الخام. التكوين متعدد الطبقات. يحتوي ملف على مستوى المستخدم في ~/.ai-agent-rules-config.yaml على الاستثناءات و settings_overrides الخاصة بالجهاز. تعيش الحالة (الملف الشخصي النشط، طابع زمني للتثبيت الأخير) في ~/.ai-agent-rules/state.yaml، ويتم تخزين الإعدادات المدمجة مؤقتًا تحت ~/.ai-agent-rules/cache/. خط أنابيب الدمج الموثق هو: إعدادات أساسية تتبّعها Git، ثم تجاوزات الملف الشخصي، ثم تجاوزات المستخدم، ثم حقول إدارة الوكيل المحفوظة المدمجة من التخزين المؤقت، ثم التخزين المؤقت، ثم الربط الرمزي إلى مجلد الوكيل. تشمل الحقول المحفوظة enabledPlugins و hooks في Claude، و extensions في Goose، و projects في Codex، و ide في Gemini. يتطلب تغيير التجاوزات تشغيل install --rebuild-cache. تجمع الملفات الشخصية التجاوزات في إعدادات مسبقة مسماة وتدعم الوراثة؛ يأتي مع الأداة ثلاثة ملفات شخصية مدمجة مع سلسلة default -> personal -> work، حيث يُوصف default بأنه عام، ويُوصف personal/work بأنهما إعدادات مسبقة للمؤلف وليس توصيات عامة. يمكن أن تعرّف الملفات الشخصية settings_overrides، و plugins، و marketplaces، و مصادر تثبيت الأدوات المدارة، و مقاطع AGENTS.md (agents_md_file، ملحق من الأب أولاً عبر الوراثة، حصري مع agents_md المضمّن)، والاستثناءات، وتجاوزات MCP. تأخذ تكوينات المستخدم المحلية الأولوية على تجاوزات الملف الشخصي. لا يتم حاليًا دعم ملفات الملفات الشخصية المعرفة من المستخدم؛ يذهب التخصيص الخاص بكل جهاز في ملف تكوين المستخدم. يتم تعريف خوادم MCP مرة واحدة في mcps.json المشترك وتترجم بواسطة مدير كل وكيل إلى الصيغ الأصلية (JSON لـ Amp و Claude و Gemini؛ TOML لـ Codex؛ امتدادات YAML لـ Goose). تحمل الإدخالات المدارة علامة _managedBy للتمييز بينها وبين الخوادم المضافة من المستخدم، وتسمح mcp_overrides بقيم خاصة بكل جهاز مثل مفاتيح API. يمكن إعلان إضافات Claude Code في الملفات الشخصية أو تكوين المستخدم؛ يضيف install الأسواق والإضافات المفقودة، ويقوم بإلغاء تثبيت الإضافات المدارة سابقًا المعزولة تلقائيًا، ويحذر من الإضافات المثبتة يدويًا دون إزالتها. يتم تتبع حالة الإضافة في ملف JSON مدار. تشمل ميزات السلامة تحذيرات التشغيل الأول، ونسخ احتياطية بطابع زمني، ومطالبات تفاعلية، ووضع التشغيل التجريبي، ودعوى أن الروابط الرمزية فقط هي التي تدار وأن الملفات الحقيقية لا يتم حذفها أبدًا، ورسائل خطأ سياقية. تغطي إرشادات استكشاف الأخطاء وإصلاحها الأهداف الخاطئة، واستعادة النسخ الاحتياطية، وتعطيل رابط رمزي عبر الاستثناء، وإعادة بناء التخزين المؤقت عندما لا تنطبق التجاوزات، وعرض الإعدادات المدمجة، والترحيل التلقائي من مسارات التكوين السابقة للإصدار v0.35. المشروع مرخص بموجب MIT.