@tera-system/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +13 -0
- package/MANIFEST.json +24 -0
- package/README.md +67 -0
- package/RELEASES.md +28 -0
- package/WELCOME.md +35 -0
- package/agents/application-blueprint.md +407 -0
- package/agents/auditor.md +665 -0
- package/agents/design-reviewer.md +392 -0
- package/agents/domain-expert-agent.md +510 -0
- package/agents/domain-research-agent.md +360 -0
- package/agents/engineering-agent-dotnet.md +218 -0
- package/agents/engineering-agent-phaser.md +275 -0
- package/agents/engineering-agent-typescript.md +300 -0
- package/agents/engineering-agent.md +143 -0
- package/agents/monitor.md +395 -0
- package/agents/production-erp-expert.md +506 -0
- package/agents/project-knowledge-agent.md +271 -0
- package/agents/qa-agent.md +498 -0
- package/agents/tera-business-transformation-consultant.md +290 -0
- package/agents/tera-client-engagement.md +891 -0
- package/agents/tera-software-designer.md +237 -0
- package/agents/tera-strategic-advisor.md +325 -0
- package/agents/tera-system-evolution.md +759 -0
- package/agents/tera.md +520 -0
- package/agents/ui-designer.md +426 -0
- package/commands/tera-approve.md +34 -0
- package/commands/tera-diagnose.md +47 -0
- package/commands/tera-gate.md +40 -0
- package/commands/tera-help.md +41 -0
- package/commands/tera-new-project.md +35 -0
- package/commands/tera-plan.md +34 -0
- package/commands/tera-request-build.md +45 -0
- package/commands/tera-resume.md +34 -0
- package/commands/tera-review.md +52 -0
- package/commands/tera-status.md +38 -0
- package/commands/tera-update.md +48 -0
- package/core/project-control/templates/TASK_TEMPLATE.md +146 -0
- package/core/tera-system/AGENT_ACTIVATION_MATRIX.md +285 -0
- package/core/tera-system/AGENT_DEPENDENCY_MAP.md +117 -0
- package/core/tera-system/AGENT_GENERATION_TEMPLATE.md +312 -0
- package/core/tera-system/AGENT_PERMISSION_MODEL.md +343 -0
- package/core/tera-system/AIS_PROTOCOL.md +191 -0
- package/core/tera-system/TERA_AGENT_CONDUCT.md +102 -0
- package/core/tera-system/TERA_CONTINUOUS_IMPROVEMENT_POLICY.md +111 -0
- package/core/tera-system/TERA_DISTRIBUTION_POLICY.md +291 -0
- package/core/tera-system/TERA_PROJECT_DECISION.md +281 -0
- package/core/tera-system/TERA_USER_GUIDE.md +462 -0
- package/core/tera-system/TOOLING_AND_MCP_POLICY.md +285 -0
- package/core/tera-system/TeraApplicationQuestionBank.md +362 -0
- package/core/tera-system/TeraArchitectureMap.md +91 -0
- package/core/tera-system/TeraClientPolicy.md +366 -0
- package/core/tera-system/TeraHelperAgents.md +970 -0
- package/core/tera-system/TeraPolicyMap.md +131 -0
- package/core/tera-system/TeraPreExecutionGate.md +818 -0
- package/core/tera-system/TeraPreparationDocumentationGovernance.md +370 -0
- package/core/tera-system/TeraPricingPolicy.md +674 -0
- package/core/tera-system/TeraProjectIntakePolicy.md +164 -0
- package/core/tera-system/TeraScenarioStressTests.md +168 -0
- package/core/tera-system/TeraSubAgents.md +854 -0
- package/core/tera-system/TeraSystemMaintenanceChecklist.md +80 -0
- package/core/tera-system/TeraTokenPolicy.md +362 -0
- package/core/tera-system/Tera_Project_Preparation_Files.md +1045 -0
- package/core/tera-system/agent-helpers/application-blueprint-details.md +177 -0
- package/core/tera-system/client-helpers/tera-client-engagement-discovery-domains.md +99 -0
- package/core/tera-system/client-helpers/tera-client-engagement-gates.md +258 -0
- package/core/tera-system/client-helpers/tera-client-engagement-pricing.md +341 -0
- package/core/tera-system/client-helpers/tera-client-engagement-protocols.md +692 -0
- package/core/tera-system/consulting-helpers/BTCA_METHODOLOGY_FRAMEWORK.md +195 -0
- package/core/tera-system/consulting-helpers/BTCA_REPORT_TEMPLATES.md +266 -0
- package/core/tera-system/design-system/ACCESSIBILITY_RULES.md +31 -0
- package/core/tera-system/design-system/COMPONENT_LIBRARY_SCHEMA.md +46 -0
- package/core/tera-system/design-system/DESIGN_MD_INTEGRATION.md +59 -0
- package/core/tera-system/design-system/DESIGN_REVIEW_STANDARDS.md +241 -0
- package/core/tera-system/design-system/DESIGN_SOURCE_PROTOCOL.md +61 -0
- package/core/tera-system/design-system/DESIGN_SYSTEM_OVERVIEW.md +66 -0
- package/core/tera-system/design-system/DESIGN_TOKENS_SCHEMA.md +66 -0
- package/core/tera-system/design-system/EXTERNAL_REFERENCE_ANALYSIS.md +52 -0
- package/core/tera-system/design-system/FIGMA_INTEGRATION.md +138 -0
- package/core/tera-system/design-system/INTERNAL_KITS_INDEX.md +26 -0
- package/core/tera-system/design-system/LAYOUT_PATTERNS.md +52 -0
- package/core/tera-system/design-system/MOBILE_UI_UX_STANDARDS.md +342 -0
- package/core/tera-system/design-system/RTL_LTR_RULES.md +39 -0
- package/core/tera-system/design-system/UI_ACCEPTANCE_GATE.md +80 -0
- package/core/tera-system/design-system/kits/KIT_ADMIN_DASHBOARD.md +102 -0
- package/core/tera-system/engineering-governance/ENGINEERING_AGENT_RESPONSIBILITIES.md +210 -0
- package/core/tera-system/engineering-governance/ENGINEERING_BEST_PRACTICES.md +468 -0
- package/core/tera-system/engineering-governance/ENGINEERING_GOVERNANCE_GATE.md +131 -0
- package/core/tera-system/engineering-governance/ENGINEERING_REVIEW_CHECKLIST.md +129 -0
- package/core/tera-system/engineering-governance/QUALITY_GATE_THRESHOLDS.md +159 -0
- package/core/tera-system/engineering-helpers/engineering-agent-core.md +171 -0
- package/core/tera-system/knowledge-base/OPENHANDS_ARCHITECTURE_REFERENCE.md +243 -0
- package/core/tera-system/knowledge-base/manufacturing/00_INDEX.md +32 -0
- package/core/tera-system/knowledge-base/manufacturing/01_MANUFACTURING_ERP_CORE_CONCEPTS.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/02_SAP_MANUFACTURING_RESEARCH.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/03_DYNAMICS_365_MANUFACTURING_RESEARCH.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/04_ORACLE_MANUFACTURING_RESEARCH.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/05_ODOO_MANUFACTURING_RESEARCH.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/06_ERPNEXT_MANUFACTURING_RESEARCH.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/07_MANUFACTURING_COSTING_GUIDE.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/08_PRODUCTION_DISCOVERY_QUESTIONS.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/09_MANUFACTURING_BLUEPRINT_CHECKLIST.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/10_PRODUCTION_TEST_SCENARIOS.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/11_QUALITY_REWORK_AND_SCRAP_GUIDE.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/12_MRP_AND_PLANNING_GUIDE.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/13_LOCAL_AND_REGIONAL_MANUFACTURING_CONTEXT.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/14_VENDOR_COMPARISON_MATRIX.md +7 -0
- package/core/tera-system/product-standards/maintenance-apps/BEST_PRACTICES_DOMAIN.md +325 -0
- package/core/tera-system/product-standards/maintenance-apps/STANDARD_DEFINITION.md +142 -0
- package/core/tera-system/profiles/PROFILES_INDEX.md +57 -0
- package/core/tera-system/profiles/TEMPLATE.md +47 -0
- package/core/tera-system/profiles/dotnet-blazor-ef.md +76 -0
- package/core/tera-system/profiles/dotnet-razorpages-adonet.md +137 -0
- package/core/tera-system/profiles/dotnet-wpf-sqlite.md +159 -0
- package/core/tera-system/profiles/effect-bun-opencode.md +109 -0
- package/core/tera-system/profiles/flutter-mobile.md +369 -0
- package/core/tera-system/profiles/nextjs-prisma.md +110 -0
- package/core/tera-system/profiles/phaser-react-node.md +302 -0
- package/core/tera-system/profiles/react-pwa.md +97 -0
- package/core/tera-system/runtime/CLIENT_DISCOVERY_PROTOCOL.md +145 -0
- package/core/tera-system/runtime/DOMAIN_INTELLIGENCE_PROTOCOL.md +124 -0
- package/core/tera-system/runtime/MVP_DEFINITION_PROTOCOL.md +176 -0
- package/core/tera-system/runtime/TERA_RUNTIME_CHECKLISTS.md +646 -0
- package/core/tera-system/runtime/TERA_RUNTIME_PROTOCOLS.md +50 -0
- package/core/tera-system/runtime/TERA_RUNTIME_PROTOCOLS_CLIENT.md +355 -0
- package/core/tera-system/runtime/TERA_RUNTIME_PROTOCOLS_CORE.md +799 -0
- package/core/tera-system/runtime/TERA_RUNTIME_TEMPLATES.md +908 -0
- package/core/tera-system/runtime/TERA_RUNTIME_TEMPLATES_DELIVERY.md +584 -0
- package/core/tera-system/runtime/TERA_RUNTIME_TEMPLATES_PREPARATION.md +376 -0
- package/core/tera-system/runtime/TERA_SOLUTION_PREPARATION_PROTOCOL.md +335 -0
- package/core/tera-system/runtime/TERA_SOLUTION_PREPARATION_TEMPLATES.md +397 -0
- package/core/tera-system/runtime/VERSION_LIFECYCLE_PROTOCOL.md +296 -0
- package/core/tera-system/semgrep-rules/README.md +32 -0
- package/core/tera-system/semgrep-rules/tera-security.yml +66 -0
- package/core/tera-system/semgrep-rules/tera-standards.yml +49 -0
- package/core/tera-system/teranoo-ui/README.md +48 -0
- package/core/tera-system/teranoo-ui/components/button.tsx +51 -0
- package/core/tera-system/teranoo-ui/components/card.tsx +49 -0
- package/core/tera-system/teranoo-ui/components/dashboard-layout.tsx +36 -0
- package/core/tera-system/teranoo-ui/components/data-table.tsx +146 -0
- package/core/tera-system/teranoo-ui/components/empty-state.tsx +31 -0
- package/core/tera-system/teranoo-ui/components/kpi-card.tsx +42 -0
- package/core/tera-system/teranoo-ui/components/page-header.tsx +25 -0
- package/core/tera-system/teranoo-ui/components/search-input.tsx +40 -0
- package/core/tera-system/teranoo-ui/components/sidebar.tsx +66 -0
- package/core/tera-system/teranoo-ui/components/stats-card.tsx +37 -0
- package/core/tera-system/teranoo-ui/registry.json +77 -0
- package/core/tera-system/teranoo-ui/styles/teranoo-theme.css +61 -0
- package/opencode.tera.example.json +30 -0
- package/package.json +37 -0
- package/scripts/build.mjs +110 -0
- package/scripts/install.js +244 -0
- package/scripts/lib/license.mjs +90 -0
- package/scripts/lib/public-key.pem +3 -0
- package/scripts/tera-license.mjs +63 -0
- package/tools/tera-clean.ps1 +97 -0
- package/tools/tera-fetch.ps1 +165 -0
- package/tools/tera-release.ps1 +96 -0
- package/tools/tera-schedule.ps1 +59 -0
- package/tools/tera-update.ps1 +472 -0
- package/tools/tera-watch.ps1 +154 -0
- package/tools/update-client-repositories.ps1 +92 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
# DESIGN_REVIEW_STANDARDS.md
|
|
2
|
+
|
|
3
|
+
## الغرض
|
|
4
|
+
|
|
5
|
+
هذا الملف هو **قاعدة المعايير** التي يستخدمها DesignReviewer (ناقد) كمرجع قبل وأثناء كل مراجعة تصميم. يحتوي على قوائم تفتيش قابلة للتنفيذ تغطي جميع جوانب مراجعة الواجهات.
|
|
6
|
+
|
|
7
|
+
**العلاقة:** هذا ملف **مرجع معرفي** (Reference)، وليس Source of Truth لهوية العميل. Source of Truth هو `.opencode/agents/design-reviewer.md`.
|
|
8
|
+
|
|
9
|
+
**الاستخدام:** يقرأ ناقد هذا الملف قبل كل مراجعة ويطبق القوائم المناسبة حسب Phase المراجعة (Pre-Implementation / Post-Implementation).
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## الفهرس
|
|
14
|
+
|
|
15
|
+
| القسم | المحتوى |
|
|
16
|
+
|-------|---------|
|
|
17
|
+
| §1 | اكتمال الحالات والسيناريوهات (Functional & Edge Case Completeness) |
|
|
18
|
+
| §2 | الاتساق البصري (Visual Consistency) |
|
|
19
|
+
| §3 | الجودة البصرية (Visual Quality Principles) |
|
|
20
|
+
| §3.1 | راحة العين ووضوح المحتوى (Visual Comfort & Readability Safety) |
|
|
21
|
+
| §4 | نظافة التصميم (Design Hygiene) |
|
|
22
|
+
| §5 | تجربة المستخدم (UX Principles) |
|
|
23
|
+
| §6 | الاستجابة والعرض المتعدد (Responsive) |
|
|
24
|
+
| §7 | التدقيق الخاص بالعربية و RTL (RTL & Arabic Review) |
|
|
25
|
+
| §8 | فحص التوكينز (Design Token Verification) |
|
|
26
|
+
| §9 | الاتساق الوظيفي (Functional Consistency) |
|
|
27
|
+
| §10 | حيوية البروتوتايب والطاقة البصرية (Visual Vitality & Polish) |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## §1. اكتمال الحالات والسيناريوهات (Functional & Edge Case Completeness)
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
1.1 Empty/Loading/Error States
|
|
35
|
+
[ ] هل كل شاشة تعرض حالة "فارغ" (Empty) بشكل مناسب؟
|
|
36
|
+
[ ] هل هناك مؤشر تحميل (Loader/Skeleton) أثناء جلب البيانات؟
|
|
37
|
+
[ ] هل رسائل الخطأ مفهومة وودية — لا "Error 500" بل "تعذر الاتصال بالخادم"؟
|
|
38
|
+
[ ] هل الحالات القصوى مغطاة: 0 نتائج، 1000+ نتيجة، إدخال فارغ؟
|
|
39
|
+
|
|
40
|
+
1.2 Edge Cases
|
|
41
|
+
[ ] ماذا يحدث عند إدخال نصوص طويلة جداً؟
|
|
42
|
+
[ ] ماذا يحدث عند إدخال رموز خاصة أو emojis؟
|
|
43
|
+
[ ] ماذا يحدث عند فقدان الاتصال بالإنترنت أثناء معاملة؟
|
|
44
|
+
[ ] ماذا يحدث عند محاولة إجراء بدون صلاحية؟
|
|
45
|
+
[ ] ماذا يحدث عند إعادة تحميل الصفحة (Refresh) — هل الحالة محفوظة؟
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## §2. الاتساق البصري (Visual Consistency)
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
[ ] الألوان: جميعها من التوكينز المعتمدة — لا ألوان عشوائية
|
|
52
|
+
[ ] الخطوط: نوع خط واحد للعناوين، واحد للنصوص — لا خلط
|
|
53
|
+
[ ] المسافات (Spacing): تتبع مقياساً موحداً (4px-8px-12px-16px-24px-32px)
|
|
54
|
+
[ ] الزوايا (Border-radius): موحّدة لكل نوع عنصر (أزرار 8px، بطاقات 12px، إلخ)
|
|
55
|
+
[ ] الظلال (Shadows): موحّدة لكل مستوى (رفيع، متوسط، عالي)
|
|
56
|
+
[ ] الأيقونات: من مجموعة واحدة، حجم واحد لكل استخدام
|
|
57
|
+
|
|
58
|
+
2.1 Modal Consistency
|
|
59
|
+
[ ] كل المودالات: عنوان + محتوى + أزرار إجراء في نفس الترتيب
|
|
60
|
+
[ ] كل المودالات: نفس العرض والحجم النسبي
|
|
61
|
+
[ ] كل المودالات: زر إغلاق في نفس المكان
|
|
62
|
+
[ ] التغطية: Open → Close → Error → Blocking (خلفية معتمة)
|
|
63
|
+
|
|
64
|
+
2.2 Table Consistency
|
|
65
|
+
[ ] هيدر مثبت عند التمرير
|
|
66
|
+
[ ] صفوف متناوبة (Stripped rows)
|
|
67
|
+
[ ] Hover effect على الصفوف
|
|
68
|
+
[ ] فرز (Sort) متاح على الأعمدة الرئيسية
|
|
69
|
+
[ ] هل الجدول يتصرف بشكل جيد على الشاشات الصغيرة؟ (scroll أفقي أو تحويل لبطاقات)
|
|
70
|
+
|
|
71
|
+
2.3 Button Consistency
|
|
72
|
+
[ ] Primary button: لون واحد، حجم واحد، شكل واحد في كل التطبيق
|
|
73
|
+
[ ] Secondary button: نمط واحد مختلف عن Primary
|
|
74
|
+
[ ] Danger button: لون خطر واحد لكل تأكيدات الحذف
|
|
75
|
+
[ ] Disabled state: موجود لجميع الأزرار
|
|
76
|
+
[ ] Loading state: موجود للأزرار التي تنفذ إجراءات
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## §3. الجودة البصرية (Visual Quality Principles)
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
[ ] التدرج الهرمي البصري واضح: عنوان الصفحة > عنوان القسم > عنوان البطاقة > النص
|
|
83
|
+
[ ] المسافات البيضاء مناسبة: لا ازدحام، لا فراغات مهدرة
|
|
84
|
+
[ ] المحتوى منظم بتجميع منطقي: العناصر المرتبطة قريبة من بعضها
|
|
85
|
+
[ ] التناقض اللوني (Contrast): النصوص مقروءة على خلفياتها (WCAG AA minimum)
|
|
86
|
+
[ ] المحتوى غير مكرر بدون سبب
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## §3.1 راحة العين ووضوح المحتوى (Visual Comfort & Readability Safety)
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
[ ] لا يوجد نص شبه أبيض على خلفية شبه بيضاء
|
|
93
|
+
[ ] لا يوجد نص باهت أو منخفض التباين على خلفية فاتحة
|
|
94
|
+
[ ] لا توجد طبقات Blur/Opacity تُضعف قراءة المحتوى الأساسي
|
|
95
|
+
[ ] لا تُستخدم الألوان المشبعة بكثافة في مساحات واسعة تُرهق العين
|
|
96
|
+
[ ] أزرار/عناوين/مؤشرات الحالة واضحة فور النظر دون مجهود
|
|
97
|
+
[ ] العناصر المهمة تظل مقروءة في أول ثانية من المشاهدة
|
|
98
|
+
[ ] لا توجد واجهة تبدو جميلة فقط لكنها متعبة بصريًا
|
|
99
|
+
[ ] إذا كان العنصر Modal / Overlay / Glassmorphism: يجب التحقق بصورة فعلية (Screenshot) وليس Snapshot فقط
|
|
100
|
+
[ ] إذا احتاجت القراءة إلى تحديق أو تقريب الذهن: فشل فوري
|
|
101
|
+
[ ] إذا تسربت الخلفية إلى النص أو قلّ الفصل البصري: فشل فوري
|
|
102
|
+
[ ] إذا كان المحتوى “مرئيًا” لكنه غير “مريحًا”: فشل
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## §4. نظافة التصميم (Design Hygiene)
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
[ ] لا معلومات برمجية ظاهرة (Stack traces, console.log, debug text)
|
|
109
|
+
[ ] لا نصوص وهمية (Lorem ipsum, dummy content متروك)
|
|
110
|
+
[ ] لا أيقونات/صور Broken (placeholder متروك)
|
|
111
|
+
[ ] لا نصوص تقنية في واجهة المستخدم (مثل "User ID: 123" بدلاً من "اسم المستخدم")
|
|
112
|
+
[ ] لا أزرار/روابط تؤدي إلى nowhere
|
|
113
|
+
[ ] لا أخطاء إملائية في النصوص العربية أو الإنجليزية
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## §5. تجربة المستخدم (UX Principles)
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
[ ] النماذج الطويلة مجزّأة: خطوات (Wizard) أو تبويبات (Tabs)
|
|
120
|
+
[ ] كل إجراء مهم له تأكيد: حذف، إلغاء، حفظ، إرسال
|
|
121
|
+
[ ] رسائل النجاح/الخطأ واضحة وقابلة للتنفيذ
|
|
122
|
+
[ ] التغذية الراجعة الفورية: Loader, Toast, Confirmation
|
|
123
|
+
[ ] تكبير الأهداف اللمسية (Touch targets): 44×44px minimum
|
|
124
|
+
[ ] العناصر القابلة للنقر واضحة: أزرار، روابط، أيقونات تفاعلية
|
|
125
|
+
[ ] الـ Navigation منطقي: عدد الخطوات للوصول للهدف قليل
|
|
126
|
+
[ ] البحث: متاح وفعّال حيثما توجد كميات كبيرة من البيانات
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## §6. الاستجابة والعرض المتعدد (Responsive)
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
[ ] المحتوى لا يخرج عن الشاشة في أي حجم
|
|
133
|
+
[ ] الجداول تتصرف جيداً على الشاشات الصغيرة
|
|
134
|
+
[ ] القوائم (Nav/Sidebar) لا تتراكض
|
|
135
|
+
[ ] الأزرار الرئيسية لا تختفي ولا تصبح غير قابلة للنقر
|
|
136
|
+
[ ] الـ Forms قابلة للاستخدام على الموبايل
|
|
137
|
+
[ ] الصور تتكيف مع حجم الشاشة
|
|
138
|
+
[ ] تم الاختبار على: 360px, 768px, 1024px, 1440px (كحد أدنى)
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## §7. التدقيق الخاص بالعربية و RTL (RTL & Arabic Review)
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
[ ] layout: dir="rtl" مضبوط على <html> وليس فقط بعض العناصر
|
|
145
|
+
[ ] CSS Logical Properties: margin-inline-start/end بدلاً من margin-left/right
|
|
146
|
+
[ ] padding-inline / margin-inline / inset-inline مستخدمة بدلاً من البدائل الفيزيائية
|
|
147
|
+
[ ] text-align: start | end بدلاً من left | right
|
|
148
|
+
[ ] Flexbox/Grid: الاعتماد على auto-flow وليس تحديد أعمدة hardcoded
|
|
149
|
+
|
|
150
|
+
7.1 Icon Mirroring
|
|
151
|
+
[ ] الأسهم وchevrons: mirror (scaleX(-1)) في RTL
|
|
152
|
+
[ ] أزرار الـ navigation (السابق/التالي): mirror
|
|
153
|
+
[ ] Breadcrumb arrows: mirror
|
|
154
|
+
[ ] أيقونات عالمية (search, checkmark, gear, star, bell): لا تلمس
|
|
155
|
+
[ ] استخدام class .icon-directional مع [dir="rtl"] selector
|
|
156
|
+
|
|
157
|
+
7.2 Arabic Typography
|
|
158
|
+
[ ] Font size: الخط العربي أكبر 10-15% من الإنجليزي (مثلاً 16px EN → 18px AR)
|
|
159
|
+
[ ] Line height: 1.8 كحد أدنى للنصوص العربية (لوجود التشكيل)
|
|
160
|
+
[ ] Font selection: Cairo, Tajawal, Noto Sans Arabic, IBM Plex Sans Arabic
|
|
161
|
+
[ ] تجنب justified text (text-align: justify) في العربية — يسبب فراغات غير منتظمة
|
|
162
|
+
|
|
163
|
+
7.3 Form Fields in RTL
|
|
164
|
+
[ ] حقول الإيميل ورقم الهاتف والـ URL: dir="ltr" صراحة
|
|
165
|
+
[ ] الـ placeholders: اختبار عكسي في RTL
|
|
166
|
+
[ ] Validation messages: محاذاتها صحيحة (تبدأ من اليمين)
|
|
167
|
+
[ ] Mixed content: استخدام dir="auto" للنصوص غير المعروفة الاتجاه
|
|
168
|
+
|
|
169
|
+
7.4 Animations
|
|
170
|
+
[ ] Animations: استخدام CSS logical properties أو متغيرات (custom properties) بدلاً من translateX- المباشر
|
|
171
|
+
[ ] Slide-in/slide-out panels: الاتجاه معكوس في RTL
|
|
172
|
+
[ ] Progress bars: flexbox من البداية، ليس width- على element واحد
|
|
173
|
+
|
|
174
|
+
7.5 Common RTL Mistakes Checklist
|
|
175
|
+
[ ] Physical margin/padding → استخدام inline-start/end
|
|
176
|
+
[ ] text-align: left → استخدام text-align: start
|
|
177
|
+
[ ] Physical position (left:0, right:0) → استخدام inset-inline-start/end
|
|
178
|
+
[ ] translateX في animations → استخدام CSS custom property
|
|
179
|
+
[ ] flex-direction: row-reverse لأغراض LTR → استخدام row + direction auto
|
|
180
|
+
[ ] Hardcoded LTR icons → mirror باستخدام scaleX(-1) في RTL
|
|
181
|
+
[ ] dir attribute missing → موجود على <html>
|
|
182
|
+
[ ] Email/phone fields ترث RTL → dir="ltr" صراحة
|
|
183
|
+
[ ] لا يوجد RTL test locale → إضافة ar/he لبيئة الاختبار
|
|
184
|
+
[ ] استخدام أعلام الدول لاختيار اللغة → استخدام أسماء اللغات أو الرموز
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## §8. فحص التوكينز (Design Token Verification)
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
[ ] مصدر التوكينز محدّد: tailwind.config / variables.css / tokens.json / DESIGN.md
|
|
191
|
+
[ ] القائمة المعتمدة مستخرجة: colors, spacing, fonts, radii, shadows
|
|
192
|
+
[ ] الـ grep كشف: أي hardcoded values بدلاً من التوكينز؟
|
|
193
|
+
[ ] المكونات المتشابهة تستخدم نفس التوكينز؟
|
|
194
|
+
[ ] هل بنية التوكينز منظمة في 3 طبقات؟ (للمشاريع المتوسطة والكبيرة)
|
|
195
|
+
|
|
196
|
+
8.1 Primitive Tokens (القيم الخام)
|
|
197
|
+
مثال: --color-blue-500: #3B82F6
|
|
198
|
+
|
|
199
|
+
8.2 Semantic Tokens (المعنى السياقي)
|
|
200
|
+
مثال: --color-primary: var(--color-blue-500)
|
|
201
|
+
القاعدة: المكونات تشير إلى Semantic tokens وليس Primitive مباشرة
|
|
202
|
+
|
|
203
|
+
8.3 Component Tokens (مستوى المكون — اختياري)
|
|
204
|
+
مثال: --btn-primary-bg: var(--color-primary)
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## §9. الاتساق الوظيفي (Functional Consistency)
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
[ ] هل جميع الـ tooltips تتصرف بنفس الطريقة؟ (hover/mouseover/timeout)
|
|
211
|
+
[ ] هل جميع الـ toasts تختفي بعد نفس المدة؟
|
|
212
|
+
[ ] هل جميع الـ drawers تفتح/تغلق بنفس الآلية؟
|
|
213
|
+
[ ] هل كل نموذج له زر "حفظ" و "إلغاء" في نفس الترتيب؟
|
|
214
|
+
[ ] هل الضغط على ESC يغلق جميع المودالات والقوائم المنسدلة؟
|
|
215
|
+
[ ] هل الـ validation trigger (عند التركيز/عند الخروج/عند الإرسال) موحّد؟
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## §10. حيوية البروتوتايب والطاقة البصرية (Visual Vitality & Polish)
|
|
219
|
+
|
|
220
|
+
```
|
|
221
|
+
[ ] ✅ / N/A — هل يحتوي التطبيق على Skeleton Loading (Shimmer) أثناء تحميل البيانات؟
|
|
222
|
+
[ ] ✅ / N/A — هل تظهر Toast Notifications عند الإجراءات (تحديث، خطأ، نجاح)؟
|
|
223
|
+
[ ] ✅ / N/A — هل يوجد مؤشر اتصال/حالة (Online/Offline or Connected/Disconnected)؟
|
|
224
|
+
[ ] ✅ / N/A — هل الجداول تدعم Search حقيقي؟
|
|
225
|
+
[ ] ✅ / N/A — هل العناصر تظهر بتأثيرات متدرجة (Stagger) أو Skeleton أولاً؟
|
|
226
|
+
[ ] ✅ / N/A — هل البيانات تبدو واقعية (أسماء، أرقام، تواريخ، تفاصيل حقيقية)؟
|
|
227
|
+
[ ] ✅ / N/A — هل يوجد Empty States للأقسام الخالية من البيانات؟
|
|
228
|
+
[ ] ✅ / N/A — هل الـ Micro-interactions موجودة (hover، pulse، number counter، entrance)؟
|
|
229
|
+
[ ] ✅ / N/A — هل التطبيق يعطي إحساس "حية" وليس "ساكن"؟
|
|
230
|
+
|
|
231
|
+
**حالات الإجابة:**
|
|
232
|
+
- ✅ = تم التنفيذ بنجاح
|
|
233
|
+
- N/A = لا ينطبق على هذه الشاشة/المهمة + يجب وجود تبرير مسجل في ملف المهمة
|
|
234
|
+
|
|
235
|
+
**القواعد:**
|
|
236
|
+
- إذا كان البروتوتايب "يعمل" لكنه "بارد" = فشل مراجعة.
|
|
237
|
+
- إذا كان الزبون يحتاج أن يتخيل كيف سيعمل التطبيق = فشل.
|
|
238
|
+
- إذا كان التطبيق لا يحاكي الحياة (بدون Skeleton، Toast، Connection Status) = فشل.
|
|
239
|
+
- البند N/A بدون تبرير = يُطلب التبرير قبل القبول.
|
|
240
|
+
- البند §10 يتجاوز §1-9 في الأهمية — البروتوتايب الميت بصرياً مرفوض حتى لو كل التفاصيل الفنية سليمة.
|
|
241
|
+
```
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Design Source Protocol
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Determine the visual design source before any frontend/UI execution planning or implementation.
|
|
6
|
+
|
|
7
|
+
## Mandatory Rule
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
No Frontend Execution Planning without Design Source Decision.
|
|
11
|
+
No UI Implementation without project-preparation/28_UI_UX_GUIDELINES.md when visual style matters.
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Design Source Modes
|
|
15
|
+
|
|
16
|
+
| Mode | Use When | Required Output |
|
|
17
|
+
|---|---|---|
|
|
18
|
+
| `INTERNAL_TERA_KIT` | No external source; admin/ERP/CRM/dashboard default | Compact or full `28_UI_UX_GUIDELINES.md` from internal kit |
|
|
19
|
+
| `GETDESIGN_MD` | A suitable `getdesign.md` DESIGN.md exists | Raw DESIGN.md + conversion into `28_UI_UX_GUIDELINES.md` |
|
|
20
|
+
| `FIGMA_DESIGN_FILE` | Client provides a Figma design file with frames, components, tokens, or auto-layout | Figma analysis → extracted tokens → `28_UI_UX_GUIDELINES.md` |
|
|
21
|
+
| `USER_PROVIDED_REFERENCE` | Client provides screenshots, colors, CSS, brand notes, or informal sketches | Raw source notes + extracted executable rules |
|
|
22
|
+
| `EXTERNAL_URL_ANALYSIS` | Client provides reference website and analysis is available/approved | Analysis report + executable rules |
|
|
23
|
+
| `HYBRID` | Combine internal kit with client colors or external reference | Explicit precedence rules |
|
|
24
|
+
| `NO_UI` | API/backend-only or no visual UI in current phase | Record `No UI` in plan/task |
|
|
25
|
+
| `N/A` | Design decision does not apply to the current record | Record reason |
|
|
26
|
+
|
|
27
|
+
## Activation by Phase
|
|
28
|
+
|
|
29
|
+
| Phase | Design Responsibility |
|
|
30
|
+
|---|---|
|
|
31
|
+
| Phase 1 | Collect preferences, screenshots, brand colors, references, RTL/LTR needs — owned by مُهندس (SCP-2026-07-28-118) |
|
|
32
|
+
| Phase 3 | Decide whether `28_UI_UX_GUIDELINES.md`, design-source files, or UIVisualDesignerAgent are required — owned by مُهندس |
|
|
33
|
+
| Phase 4 | Generate/activate UIVisualDesignerAgent only when design governance is needed now — owned by مُهندس |
|
|
34
|
+
| Phase 5 | Block frontend TASK-COD generation until Design Source Decision exists |
|
|
35
|
+
| Phase 6 | EngineeringAgent follows `28_UI_UX_GUIDELINES.md` and UI Acceptance Gate |
|
|
36
|
+
|
|
37
|
+
## Selection Rules
|
|
38
|
+
|
|
39
|
+
1. If the user provides a specific reference, use `USER_PROVIDED_REFERENCE` or `EXTERNAL_URL_ANALYSIS`.
|
|
40
|
+
2. If the user provides a Figma design file (link, file, or detailed screenshots with component structure), use `FIGMA_DESIGN_FILE`.
|
|
41
|
+
3. If the user asks for a known style direction and `getdesign.md` has a suitable DESIGN.md, use `GETDESIGN_MD` as a source, not as final scope.
|
|
42
|
+
4. If the project is internal admin/ERP/CRM/dashboard without a design source, use `INTERNAL_TERA_KIT` starting with `KIT_ADMIN_DASHBOARD.md`.
|
|
43
|
+
5. If the project has no UI, record `NO_UI` and do not create design files.
|
|
44
|
+
6. Do not mention famous brands to clients as identity promises. Describe style qualities instead.
|
|
45
|
+
|
|
46
|
+
When `FIGMA_DESIGN_FILE` is selected as the official design source, Tera must use `FIGMA_INTEGRATION.md` and ask the user for the required official Figma adoption inputs. The user is not expected to remember that checklist.
|
|
47
|
+
|
|
48
|
+
## Required Decision Record
|
|
49
|
+
|
|
50
|
+
Every UI project must record:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
Design Source Mode:
|
|
54
|
+
Selected Source:
|
|
55
|
+
Why selected:
|
|
56
|
+
What will be used:
|
|
57
|
+
What will not be used:
|
|
58
|
+
Client overrides:
|
|
59
|
+
Risk of brand imitation:
|
|
60
|
+
Final executable file: project-preparation/28_UI_UX_GUIDELINES.md
|
|
61
|
+
```
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Tera Design System Overview
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This layer governs visual design, UI style, layout rules, design tokens, component rules, and UI acceptance inside Tera projects.
|
|
6
|
+
|
|
7
|
+
It prevents Tera or EngineeringAgent from inventing random UI styling during implementation.
|
|
8
|
+
|
|
9
|
+
## Core Rule
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
Design Governance Layer exists always.
|
|
13
|
+
Full activation is conditional.
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Tera chooses the design level by project type:
|
|
17
|
+
|
|
18
|
+
| Project Type | Design Governance Level |
|
|
19
|
+
|---|---|
|
|
20
|
+
| API only / backend only | No UI Design Layer required |
|
|
21
|
+
| Simple internal CRUD | Internal Kit + compact `28_UI_UX_GUIDELINES.md` |
|
|
22
|
+
| ERP / CRM / dashboard | Full Design Governance |
|
|
23
|
+
| SaaS / public UI / design-sensitive app | Full Design Governance + `getdesign.md` when useful |
|
|
24
|
+
| Client provides Figma design file | `FIGMA_DESIGN_FILE` — requires structured extraction into `28_UI_UX_GUIDELINES.md` |
|
|
25
|
+
| Client screenshots / reference website / brand notes | `USER_PROVIDED_REFERENCE` or `EXTERNAL_URL_ANALYSIS` |
|
|
26
|
+
|
|
27
|
+
## Source to Execution Flow
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
Design Source Decision
|
|
31
|
+
-> Raw design source saved in project-preparation/design-source/
|
|
32
|
+
-> Converted into project-preparation/28_UI_UX_GUIDELINES.md
|
|
33
|
+
-> EngineeringAgent implements from 28_UI_UX_GUIDELINES.md only
|
|
34
|
+
-> UI_ACCEPTANCE_GATE verifies result
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Official Files
|
|
38
|
+
|
|
39
|
+
| File | Role |
|
|
40
|
+
|---|---|
|
|
41
|
+
| `DESIGN_SOURCE_PROTOCOL.md` | Design source modes and activation rules |
|
|
42
|
+
| `DESIGN_MD_INTEGRATION.md` | `getdesign.md` / DESIGN.md protocol |
|
|
43
|
+
| `EXTERNAL_REFERENCE_ANALYSIS.md` | Screenshots, URLs, brand notes, user references |
|
|
44
|
+
| `FIGMA_INTEGRATION.md` | Figma design file protocol (when FIGMA_DESIGN_FILE is active) |
|
|
45
|
+
| `INTERNAL_KITS_INDEX.md` | Internal fallback kits |
|
|
46
|
+
| `DESIGN_TOKENS_SCHEMA.md` | Approved token schema |
|
|
47
|
+
| `COMPONENT_LIBRARY_SCHEMA.md` | Component rule schema |
|
|
48
|
+
| `LAYOUT_PATTERNS.md` | Layout patterns |
|
|
49
|
+
| `RTL_LTR_RULES.md` | Arabic/English direction rules |
|
|
50
|
+
| `ACCESSIBILITY_RULES.md` | Accessibility baseline |
|
|
51
|
+
| `UI_ACCEPTANCE_GATE.md` | UI task acceptance gate |
|
|
52
|
+
| `kits/KIT_ADMIN_DASHBOARD.md` | First internal kit |
|
|
53
|
+
|
|
54
|
+
## Final Project Output
|
|
55
|
+
|
|
56
|
+
The final executable UI design decision is always:
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
project-preparation/28_UI_UX_GUIDELINES.md
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Raw sources such as DESIGN.md, Figma files/exports, screenshots, color palettes, and external references belong in:
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
project-preparation/design-source/
|
|
66
|
+
```
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Design Tokens Schema
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Define the required structure for executable design tokens in `28_UI_UX_GUIDELINES.md`.
|
|
6
|
+
|
|
7
|
+
## Token Groups
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
colors:
|
|
11
|
+
background:
|
|
12
|
+
surface:
|
|
13
|
+
surface-muted:
|
|
14
|
+
border:
|
|
15
|
+
border-strong:
|
|
16
|
+
text:
|
|
17
|
+
text-muted:
|
|
18
|
+
primary:
|
|
19
|
+
primary-hover:
|
|
20
|
+
secondary:
|
|
21
|
+
accent:
|
|
22
|
+
success:
|
|
23
|
+
warning:
|
|
24
|
+
danger:
|
|
25
|
+
info:
|
|
26
|
+
|
|
27
|
+
typography:
|
|
28
|
+
font-family-ar:
|
|
29
|
+
font-family-en:
|
|
30
|
+
h1:
|
|
31
|
+
h2:
|
|
32
|
+
h3:
|
|
33
|
+
body:
|
|
34
|
+
small:
|
|
35
|
+
button:
|
|
36
|
+
line-height:
|
|
37
|
+
|
|
38
|
+
spacing:
|
|
39
|
+
base-unit: 4px
|
|
40
|
+
scale: [4, 8, 12, 16, 24, 32, 48, 64]
|
|
41
|
+
|
|
42
|
+
radius:
|
|
43
|
+
sm:
|
|
44
|
+
md:
|
|
45
|
+
lg:
|
|
46
|
+
xl:
|
|
47
|
+
full:
|
|
48
|
+
|
|
49
|
+
shadow:
|
|
50
|
+
none:
|
|
51
|
+
sm:
|
|
52
|
+
md:
|
|
53
|
+
lg:
|
|
54
|
+
|
|
55
|
+
motion:
|
|
56
|
+
duration-fast:
|
|
57
|
+
duration-normal:
|
|
58
|
+
easing-standard:
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Rules
|
|
62
|
+
|
|
63
|
+
- Tokens must be explicit before UI implementation.
|
|
64
|
+
- If a token is unknown, record it as an Open Design Gap.
|
|
65
|
+
- EngineeringAgent must not invent missing tokens.
|
|
66
|
+
- Client branding overrides must be recorded separately from base kit tokens.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# External Reference Analysis
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Convert user-provided visual references into executable UI rules without guessing.
|
|
6
|
+
|
|
7
|
+
Supported references:
|
|
8
|
+
|
|
9
|
+
- screenshots
|
|
10
|
+
- Figma notes or exports
|
|
11
|
+
- CSS/theme files
|
|
12
|
+
- brand/color files
|
|
13
|
+
- website URLs
|
|
14
|
+
- user descriptions of layout and colors
|
|
15
|
+
- `getdesign.md` DESIGN.md files
|
|
16
|
+
|
|
17
|
+
## Process
|
|
18
|
+
|
|
19
|
+
1. Store or summarize raw reference in `project-preparation/design-source/`.
|
|
20
|
+
2. Extract observable rules:
|
|
21
|
+
- color palette
|
|
22
|
+
- typography
|
|
23
|
+
- spacing density
|
|
24
|
+
- layout pattern
|
|
25
|
+
- component styles
|
|
26
|
+
- states and interactions
|
|
27
|
+
- RTL/LTR behavior
|
|
28
|
+
- accessibility risks
|
|
29
|
+
3. Ask only for missing decisions that materially affect execution.
|
|
30
|
+
4. Convert approved rules into `28_UI_UX_GUIDELINES.md`.
|
|
31
|
+
5. Record open design gaps if the source is incomplete.
|
|
32
|
+
|
|
33
|
+
## Screenshot Handling
|
|
34
|
+
|
|
35
|
+
Screenshots are visual references, not complete specifications. Tera must infer cautiously and record uncertainty.
|
|
36
|
+
|
|
37
|
+
If a screenshot lacks hover states, responsive behavior, accessibility states, or component variants, record them as `Open Design Gaps` instead of guessing.
|
|
38
|
+
|
|
39
|
+
## External URL Handling
|
|
40
|
+
|
|
41
|
+
External URLs may be used as inspiration or analysis input. They must not become mandatory scope or a brand-copying target.
|
|
42
|
+
|
|
43
|
+
## Required Output Sections
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
Reference Type:
|
|
47
|
+
Observed Rules:
|
|
48
|
+
Unknown / Missing Rules:
|
|
49
|
+
Client Decisions Needed:
|
|
50
|
+
Approved Conversion:
|
|
51
|
+
Forbidden Styling:
|
|
52
|
+
```
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Figma Integration Protocol
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Define how Tera handles a Figma design file as a formal design source when `Design Source Mode = FIGMA_DESIGN_FILE`.
|
|
6
|
+
|
|
7
|
+
## Core Rule
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
No frontend implementation directly from Figma.
|
|
11
|
+
Always extract executable rules into 28_UI_UX_GUIDELINES.md first.
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## When to Use FIGMA_DESIGN_FILE
|
|
15
|
+
|
|
16
|
+
Use `FIGMA_DESIGN_FILE` instead of `USER_PROVIDED_REFERENCE` when the client provides:
|
|
17
|
+
|
|
18
|
+
- A Figma file (link, `.fig` file, or exported frames).
|
|
19
|
+
- Structured screenshots showing component variants, states, or auto-layout.
|
|
20
|
+
- Figma variables or design tokens.
|
|
21
|
+
- A design system or component library defined in Figma.
|
|
22
|
+
|
|
23
|
+
Do NOT use `FIGMA_DESIGN_FILE` for:
|
|
24
|
+
|
|
25
|
+
- A single screenshot without structure (use `USER_PROVIDED_REFERENCE`).
|
|
26
|
+
- A reference website or inspiration link (use `EXTERNAL_URL_ANALYSIS`).
|
|
27
|
+
|
|
28
|
+
## Flow
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
Client provides Figma file / link / structured exports
|
|
32
|
+
↓
|
|
33
|
+
Tera records Design Source Mode = FIGMA_DESIGN_FILE
|
|
34
|
+
↓
|
|
35
|
+
UIVisualDesignerAgent analyzes the Figma source:
|
|
36
|
+
- Extracts colors, typography, spacing
|
|
37
|
+
- Maps frames/pages to project screens
|
|
38
|
+
- Documents component variants and states
|
|
39
|
+
- Identifies layout patterns and constraints
|
|
40
|
+
- Notes responsive assumptions
|
|
41
|
+
- Records missing or unclear design areas as Design Gaps
|
|
42
|
+
↓
|
|
43
|
+
Updates project-preparation/28_UI_UX_GUIDELINES.md with:
|
|
44
|
+
- Section 3: Figma file reference
|
|
45
|
+
- Section 15: Figma Source Mapping
|
|
46
|
+
- Sections 5-8: Tokens, components, layout, RTL rules
|
|
47
|
+
↓
|
|
48
|
+
EngineeringAgent implements from 28_UI_UX_GUIDELINES.md only
|
|
49
|
+
↓
|
|
50
|
+
UI Acceptance Gate verifies against Figma-derived rules
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Required User Input for Official Figma Adoption
|
|
54
|
+
|
|
55
|
+
When the user says that Figma is the official design source for a project, Tera must ask for the following information before analysis or UI execution planning:
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
I will treat Figma as the official design source only after you provide or confirm:
|
|
59
|
+
|
|
60
|
+
1. Figma link / file / exported frames:
|
|
61
|
+
2. Approved pages / frames / screens:
|
|
62
|
+
3. Frames that must NOT be used:
|
|
63
|
+
4. Commitment level: exact / close match / guided adaptation:
|
|
64
|
+
5. Interface direction: RTL Arabic / LTR English / both:
|
|
65
|
+
6. What to extract: colors, typography, spacing, layout rules, component rules, states, responsive assumptions, RTL/LTR behavior:
|
|
66
|
+
7. Missing states to check: empty / loading / error / disabled / mobile / tablet:
|
|
67
|
+
8. Restrictions: no API, no MCP, no plugin, no direct EngineeringAgent implementation from Figma:
|
|
68
|
+
9. Any project identity or brand overrides that should override Figma:
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Tera must not expect the user to remember this checklist. If `FIGMA_DESIGN_FILE` is selected and any required item is missing, Tera asks only for the missing items.
|
|
72
|
+
|
|
73
|
+
## Official Figma Adoption Prompt
|
|
74
|
+
|
|
75
|
+
Tera may offer the user this ready-to-fill prompt:
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
أريد اعتماد Figma كمصدر تصميم رسمي لهذا المشروع.
|
|
79
|
+
|
|
80
|
+
Design Source Mode:
|
|
81
|
+
FIGMA_DESIGN_FILE
|
|
82
|
+
|
|
83
|
+
رابط Figma:
|
|
84
|
+
[ضع الرابط هنا]
|
|
85
|
+
|
|
86
|
+
نطاق التصميم المعتمد:
|
|
87
|
+
- الصفحات/Frames المطلوبة: [اكتب أسماء الصفحات أو الشاشات]
|
|
88
|
+
- لا تعتمد أي Frames أخرى خارج هذه القائمة إلا بعد سؤالي.
|
|
89
|
+
|
|
90
|
+
درجة الالتزام:
|
|
91
|
+
- استخدم Figma كمصدر تصميم أساسي للواجهة.
|
|
92
|
+
- لا تنفذ منه مباشرة.
|
|
93
|
+
- استخرج منه القواعد إلى project-preparation/28_UI_UX_GUIDELINES.md.
|
|
94
|
+
- يجب أن يبقى 28_UI_UX_GUIDELINES.md هو المرجع التنفيذي النهائي.
|
|
95
|
+
|
|
96
|
+
المطلوب استخراجه من Figma:
|
|
97
|
+
- الألوان
|
|
98
|
+
- الخطوط
|
|
99
|
+
- spacing
|
|
100
|
+
- layout rules
|
|
101
|
+
- component rules
|
|
102
|
+
- buttons
|
|
103
|
+
- forms
|
|
104
|
+
- tables
|
|
105
|
+
- sidebar/topbar إن وجدت
|
|
106
|
+
- component states مثل hover / active / disabled إن وجدت
|
|
107
|
+
- responsive assumptions
|
|
108
|
+
- RTL/LTR behavior
|
|
109
|
+
|
|
110
|
+
اللغة والاتجاه:
|
|
111
|
+
- الواجهة: [RTL عربي / LTR إنجليزي / الاثنين]
|
|
112
|
+
- إذا كان التصميم في Figma باتجاه مختلف، سجّل ذلك كـ Design Gap ولا تخمّن.
|
|
113
|
+
|
|
114
|
+
قيود مهمة:
|
|
115
|
+
- لا تضف Figma API أو MCP أو Plugin الآن.
|
|
116
|
+
- لا تسمح لـ EngineeringAgent بتنفيذ UI مباشرة من Figma.
|
|
117
|
+
- إذا كانت هناك حالات ناقصة في التصميم مثل empty/loading/error/disabled/mobile، سجّلها في Open Design Gaps.
|
|
118
|
+
- بعد التحليل أعطني ملخصًا بما تم اعتماده، وما هي Design Gaps قبل بدء تنفيذ الواجهة.
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## UIVisualDesignerAgent Responsibilities
|
|
122
|
+
|
|
123
|
+
When `FIGMA_DESIGN_FILE` is active, UIVisualDesignerAgent must:
|
|
124
|
+
|
|
125
|
+
1. Reference the Figma file in `project-preparation/design-source/`.
|
|
126
|
+
2. Extract all available design tokens (colors, typography, spacing).
|
|
127
|
+
3. Map Figma components to project components.
|
|
128
|
+
4. Document component variants, states (hover, focus, disabled, loading, error, empty).
|
|
129
|
+
5. Note responsive behavior if the Figma includes multiple frame sizes.
|
|
130
|
+
6. Record any missing design details as Design Gaps.
|
|
131
|
+
7. Never copy the Figma file as executable spec — the final output is always `28_UI_UX_GUIDELINES.md`.
|
|
132
|
+
|
|
133
|
+
## Restrictions
|
|
134
|
+
|
|
135
|
+
- EngineeringAgent must NOT open or read Figma files directly.
|
|
136
|
+
- EngineeringAgent must NOT implement UI from Figma screenshots without extracted rules.
|
|
137
|
+
- Figma fonts that are not available in the project stack must be noted as Design Gaps.
|
|
138
|
+
- Figma components that cannot be replicated exactly in the chosen UI framework must be noted with alternatives.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Internal Tera Design Kits Index
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Internal kits provide stable fallback design systems when the user has no external visual source.
|
|
6
|
+
|
|
7
|
+
They are starting points, not mandatory final identities.
|
|
8
|
+
|
|
9
|
+
## Available Kits
|
|
10
|
+
|
|
11
|
+
| Kit | File | Best For | Status |
|
|
12
|
+
|---|---|---|---|
|
|
13
|
+
| Admin Dashboard | `kits/KIT_ADMIN_DASHBOARD.md` | ERP, CRM, admin panels, internal dashboards | Active |
|
|
14
|
+
|
|
15
|
+
## Planned Kits
|
|
16
|
+
|
|
17
|
+
| Kit | Best For | Status |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| SaaS App | SaaS products, subscription tools | Deferred |
|
|
20
|
+
| Public Website | company websites, landing pages | Deferred |
|
|
21
|
+
| Mobile First App | responsive/mobile-heavy apps | Deferred |
|
|
22
|
+
| Data Dense ERP | complex tables and data-heavy ERP | Deferred |
|
|
23
|
+
|
|
24
|
+
## Selection Rule
|
|
25
|
+
|
|
26
|
+
Use the weakest sufficient kit. Do not activate full design governance for backend-only or API-only projects.
|