الانتقال إلى المحتوى الرئيسي
تطبيقات Twenty هي حزم TypeScript توسّع مساحة عملك بكائنات مخصّصة، ومنطق، ومكوّنات واجهة مستخدم (UI)، وقدرات ذكاء اصطناعي. تعمل على منصة Twenty مع عزل كامل وضوابط الأذونات.

كيف تعمل التطبيقات

التطبيق عبارة عن مجموعة من الكيانات يتم إعلانها باستخدام دوال defineEntity() من حزمة twenty-sdk. يكتشف SDK هذه التصريحات عبر تحليل AST وقت البناء وينتج ملف بيان — وصفًا كاملًا لما يضيفه تطبيقك إلى مساحة العمل. تتحقق هذه الدوال من تكوينك وقت البناء وتوفّر إكمالًا تلقائيًا في بيئة التطوير وأمان الأنواع.
your-app/
├── src/
│   ├── application-config.ts    ← defineApplication (required, one per app)
│   ├── roles/                   ← defineRole
│   ├── objects/                 ← defineObject
│   ├── fields/                  ← defineField
│   ├── logic-functions/         ← defineLogicFunction
│   ├── front-components/        ← defineFrontComponent
│   ├── skills/                  ← defineSkill
│   ├── agents/                  ← defineAgent
│   ├── views/                   ← defineView
│   ├── navigation-menu-items/   ← defineNavigationMenuItem
│   └── page-layouts/            ← definePageLayout
├── public/                      ← Static assets (images, icons)
└── package.json
تنظيم الملفات متروك لك. يعتمد اكتشاف الكيانات على AST — يعثر SDK على استدعاءات export default defineEntity(...) بغض النظر عن مكان وجود الملف. بنية المجلدات أعلاه هي اصطلاح وليست متطلبًا.

أنواع الكيانات

كيانالغرضوثائق
تطبيقهوية التطبيق، الدور الافتراضي، والمتغيراتتهيئة التطبيق
دورمجموعات الأذونات للكائنات والحقولالأدوار والأذونات
الكائنأنواع سجلات مخصّصة مع حقولالكائنات
الحقلإضافة حقول إلى الكائنات من تطبيقات أخرىتوسيع الكائنات
علاقةروابط ثنائية الاتجاه بين الكائناتالعلاقات
دالة منطقيةTypeScript على جانب الخادم مع مشغّلاتالوظائف المنطقية
مهارةتعليمات قابلة لإعادة الاستخدام لوكلاء الذكاء الاصطناعيالمهارات والوكلاء
وكيلمساعدو الذكاء الاصطناعي بموجهات مخصّصةالمهارات والوكلاء
موفر الاتصالبيانات اعتماد OAuth لواجهات برمجة التطبيقات التابعة لجهات خارجيةالاتصالات
عرضعروض قوائم السجلات المكوّنة مسبقًاالعروض
عنصر قائمة التنقّلعناصر الشريط الجانبي المخصّصةعناصر قائمة التنقّل
تخطيط الصفحةعلامات التبويب وعناصر الواجهة في صفحة تفاصيل السجلتخطيطات الصفحات
مكوّن أماميواجهة مستخدم React معزولة داخل Twentyالمكوّنات الأمامية
عنصر قائمة الأوامرإجراءات سريعة ومدخلات Cmd+Kعناصر قائمة الأوامر

العزل

  • الدوال المنطقية تعمل في عمليات Node.js معزولة على الخادم. لا تصل إلى البيانات إلا عبر عميل API مضبوط الأنواع، ومقيَّد بأذونات دور التطبيق.
  • المكوّنات الأمامية تعمل ضمن Web Workers باستخدام Remote DOM — معزولة عن الصفحة الرئيسية لكنها تعرض عناصر DOM الأصلية (وليس iframes). تتواصل مع Twenty عبر واجهة API للمضيف تعتمد تمرير الرسائل.
  • الأذونات تُطبَّق على مستوى واجهة API. يُشتق رمز وقت التشغيل (TWENTY_APP_ACCESS_TOKEN) من الدور المعرَّف في defineApplication().

دورة حياة التطبيق

┌─────────────────────────────────────────────────────────┐
│ Development                                             │
│   npx create-twenty-app → yarn twenty dev (live sync)   │
├─────────────────────────────────────────────────────────┤
│ Build & Deploy                                          │
│   yarn twenty dev:build → yarn twenty app:publish        │
├─────────────────────────────────────────────────────────┤
│ Install flow                                            │
│   upload → [pre-install] → metadata migration →         │
│   generate SDK → [post-install]                         │
├─────────────────────────────────────────────────────────┤
│ Publish                                                 │
│   npm publish → appears in Twenty marketplace           │
└─────────────────────────────────────────────────────────┘
  • yarn twenty dev — يراقب ملفات المصدر لديك ويزامن التغييرات مباشرةً إلى خادم Twenty متصل. يُعاد توليد عميل API مضبوط الأنواع تلقائيًا عند تغيّر المخطط.
  • yarn twenty dev:build — يجمّع TypeScript، ويضمّن الدوال المنطقية والمكوّنات الأمامية باستخدام esbuild، وينتج ملف بيان.
  • خطّافات ما قبل/ما بعد التثبيت — دوال اختيارية تعمل أثناء التثبيت. راجع خطّافات التثبيت للتفاصيل.

الخطوات التالية

التهيئة

هوية التطبيق، الدور الافتراضي، وخطّافات التثبيت.

بيانات

الكائنات، الحقول، والعلاقات ثنائية الاتجاه.

المنطق

دوال منطقية، مهارات، وكلاء، واتصالات OAuth.

التخطيط

العروض، التنقّل، تخطيطات الصفحات، ومكوّنات الواجهة الأمامية.

العمليات

سطر الأوامر (CLI)، الاختبار، المستودعات البعيدة (remotes)، التكامل المستمر (CI)، ونشر تطبيقك.