عن المشروع

CompoMo هي مكتبة مكونات ويب محايدة للإطار (framework-agnostic) منشورة كـ @ds-mo/ui. مبنية بـ Stencil.js، ومصممة باستخدام TokoMo design tokens. تُوزّع كعناصر مخصصة (custom elements) بالإضافة إلى محوّلات مولّدة لـ Angular وReact وVue. تصفها family ds-mo alongside @ds-mo/tokens و @ds-mo/icons. تتطلب التركيب استيراد ثلاثة حزم: @ds-mo/tokens و @ds-mo/icons و @ds-mo/ui. يتم استيراد TokoMo tokens مرة واحدة في جذر التطبيق (tokens, tokens/reset, tokens/globals). الاستخدام يتبع الإطار المستخدم. في HTML عادي، استيراد وحدة مكونٍ يُعرّف تلقائياً custom element الخاص به، لذا يمكن استخدام tag مثل ds-button-filled مباشرة مع label attribute. تطبيقات Angular يُنصح باستيراد محوّلات standalone per-component (مثل @ds-mo/ui/angular/ds-button-filled)؛ تطبيقات React وVue تستخدم wrappers مولّدة من @ds-mo/ui/react و @ds-mo/ui/vue على التوالي.Icons تُحل عبر @ds-mo/icons، مع ds-icon مطابق لأسماء IcoMo التصديرية Canonical تماماً عند bundle time. المكتبة تُصدر عدة أسطح دعم عامة: @ds-mo/ui/shell للعقود المحايدة للإطار، @ds-mo/ui/toast لمدير toast، @ds-mo/ui/utils لـ helpers عامة مثل registerIcons، @ds-mo/ui/prose.css للتنسيق الدلالي المحايد للعارض، و @ds-mo/ui/control-elevation.css للأ wrappers الخارجية المرتفعة للمكونات. لا يوجد bundle CSS components global متعمد؛ الstyles تُصدّر مع كل custom element. في دعم المتصفحات، يستهدف CompoMo مجموعة "Baseline Newly available" المتحركة. المكونات قد تعتمد ميزة web-platform once تكون interoperable عبر Baseline core browsers، والمستهلكون الم holde releases أقدم يُتوقع منهم تزويد fallback خاص أو البقاء على إصدار متوافق سابق. إضافة ملحوظة هي compomo-mcp، executable محلي مُدمج مع package. يُعرّض بيانات Component metadata مولّدة و executable composition recipes لـ Custom Elements وAngular وReact وVue، ويمكن تسجيله كـ MCP server (مثل في Codex config file يشير إلى node_modules/.bin/compomo-mcp). يُوصف باستخدام stdio فقط وتخدم protocol 2026-07-28 الحديث بالإضافة إلى revisions القديمة القائمة على initialize حتى 2025-11-25، مع version negotiation تلقائي مُوصى به للـ clients التي تدعم modern discovery. الREADME تُصوّر API facts as coming from Stencil metadata بينما curated intent comes from component agent JSON ومُقرّب patterns. الوثائق مقسمة عبر Storybook intro, framework integration guide, v13 migration guide, maintainer documentation router, و repository instructions في AGENTS.md. الREADME ترفض صراحةً تكرار package versions و component lists و props و events و exports، مطلقةً القراء إلى package.json, Storybook, أو generated registry للحقائق الحالية.