npx create-twenty-app كما يلي:
الملفات الرئيسية
| ملف / مجلد | الغرض |
|---|---|
src/application-config.ts | مطلوب. ملف الإعداد الرئيسي لتطبيقك. |
src/default-role.ts | دور افتراضي يتحكّم بما يمكن لدوال المنطق الوصول إليه. |
src/constants/universal-identifiers.ts | معرّفات UUID وبيانات تعريف يتم توليدها تلقائيًا (اسم العرض، الوصف). |
src/front-components/, src/navigation-menu-items/, src/page-layouts/ | صفحة ترحيب مبدئية: مكوّن واجهة أمامية يتم تقديمه بواسطة مخطط صفحة مستقل، يمكن الوصول إليه من الشريط الجانبي. |
src/__tests__/ | اختبار وحدة بالإضافة إلى اختبار تكامل (مع إعداده العام) يقوم بمزامنة التطبيق مع خادم حقيقي. |
public/ | أصول ثابتة (صور، خطوط) تُقدَّم مع تطبيقك. |
AGENTS.md / CLAUDE.md | إرشادات لوكلاء برمجة الذكاء الاصطناعي الذين يعملون على التطبيق. |
CHANGELOG.md / SETUP.md | سجل بأبرز التغييرات وتعليمات الإعداد للتطوير المحلي. |
تنظيم الملفات متروك لك. المجلدات المذكورة أعلاه هي أعراف متَّبعة — يكتشف SDK الكيانات عبر تحليل AST على استدعاءات
export default defineEntity(...) بغض النظر عن مكان وجود الملف.التبعيات
ينبغي أن تكون حزمتا SDK الخاصتان بـ Twenty ضمنdevDependencies، وليس ضمن dependencies:
twenty-sdk و twenty-client-sdk على إصدارها الخاص — حافظ على تزامنهما عند الترقية.
- توفّر
twenty-sdkأداةtwentyCLI وأدوات البناء/إنشاء الهياكل (scaffolding). يعمل فقط أثناء التطوير ووقت البناء، ولا يتم استيراده أبدًا في وقت تشغيل تطبيقك المنشور. - يتم استيراد
twenty-client-sdkبواسطة كود تطبيقك (CoreApiClient،MetadataApiClient،RestApiClient)؛ لكن Twenty توفّره في وقت التشغيل — حيث تحصل عليه دوال المنطق من طبقة SDK مُولَّدة، وتحصل عليه مكوّنات الواجهة من وحدات يتم تقديمها من الخادم. يُستخدَم الإصدار المثبّت لديك فقط لفحص الأنواع (typechecking) ولبناء النشر (deploy-time build)، لذا لا يلزم أبدًا أن يتم تضمينه في حزمة النشر.
dependencies يؤدي إلى سحبها داخل حزمة وقت تشغيل التطبيق المثبّت، حيث تكون عبئًا زائدًا بلا فائدة. يُطلق twenty dev:build تحذيرًا عندما تكون أيٌّ منهما ما تزال مدرجة ضمن dependencies.
أضِف تبعيات وقت التشغيل الخاصة بتطبيقك (المكتبات التي تستوردها دوال المنطق لديك فعلًا في وقت التشغيل) ضمن dependencies كالمعتاد.