الانتقال إلى المحتوى الرئيسي
التطبيقات حاليًا في مرحلة الاختبار الألفا. الميزة تعمل لكنها لا تزال قيد التطور.

نظرة عامة

بمجرد أن يكون تطبيقك مبنيًا ومختبرًا محليًا، لديك مساران لتوزيعه:
  • النشر على npm — أدرج تطبيقك في سوق Twenty ليتسنى لأي مساحة عمل اكتشافه وتثبيته.
  • إرسال tarball — انشر تطبيقك إلى خادم Twenty معيّن للاستخدام الداخلي من دون جعله متاحًا للعامة.

النشر على npm

يُتيح النشر على npm إمكانية العثور على تطبيقك في سوق Twenty. يمكن لأي مساحة عمل في Twenty استعراض تطبيقات السوق وتثبيتها وترقيتها مباشرةً من واجهة المستخدم.

المتطلبات

  • حساب على npm
  • يجب أن يستخدم اسم الحزمة البادئة twenty-app- (مثلًا، twenty-app-postcard-sender)

الخطوات

  1. قم ببناء تطبيقك — تقوم أداة CLI بتجميع مصادر TypeScript الخاصة بك وإنشاء ملف بيان التطبيق:
yarn twenty app:build
  1. النشر على npm — ادفع الحزمة المبنية إلى سجل npm:
npx twenty app:publish

الاكتشاف التلقائي

تُكتشف الحِزم التي تحمل البادئة twenty-app- تلقائيًا بواسطة فهرس سوق Twenty. بعد نشره، سيظهر تطبيقك في السوق خلال بضع دقائق — من دون الحاجة إلى تسجيل يدوي أو موافقة يدوية.

النشر عبر CI

يتضمن المشروع المُولَّد سير عمل GitHub Actions يقوم بالنشر عند كل إصدار. يشغِّل app:build، ثم ينفِّذ npm publish --provenance من مخرجات البناء:
name: Publish
on:
  release:
    types: [published]

permissions:
  contents: read
  id-token: write

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: "24"
          registry-url: https://registry.npmjs.org
      - run: yarn install --immutable
      - run: npx twenty app:build
      - run: npm publish --provenance --access public
        working-directory: .twenty/output
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
بالنسبة لأنظمة CI الأخرى (GitLab CI، CircleCI، إلخ)، تنطبق الأوامر الثلاثة نفسها: yarn install، ثم npx twenty app:build، ثم npm publish من .twenty/output.
npm provenance اختياري ولكنه موصى به. يضيف النشر باستخدام --provenance شارة ثقة إلى إدراجك على npm، مما يتيح للمستخدمين التحقق من أن الحزمة تم بناؤها من التزام محدد ضمن خط أنابيب CI عام. راجع وثائق npm provenance للحصول على تعليمات الإعداد.

التوزيع الداخلي

بالنسبة للتطبيقات التي لا تريد إتاحتها للعامة — مثل الأدوات المملوكة، أو عمليات التكامل الخاصة بالمؤسسات فقط، أو الإصدارات التجريبية — يمكنك إرسال tarball مباشرةً إلى خادم Twenty.

إرسال tarball

قم ببناء تطبيقك وانشره إلى خادم محدد في خطوة واحدة:
npx twenty app:publish --server <server-url>
يمكن لأي مساحة عمل على ذلك الخادم بعدها تثبيت التطبيق وترقيته من صفحة الإعدادات التطبيقات.

إدارة الإصدارات

لطرح تحديث:
  1. ارفع قيمة الحقل version في ملف package.json
  2. أرسل tarball جديدًا باستخدام npx twenty app:publish --server <server-url>
  3. سترى مساحات العمل على ذلك الخادم الترقية متاحة في إعداداتها
التطبيقات الداخلية مقتصرة على الخادم الذي تُرسل إليه. لن تظهر في السوق العام ولا يمكن لمساحات العمل على خوادم أخرى تثبيتها.

فئات التطبيقات

تُنظِّم Twenty التطبيقات في ثلاث فئات استنادًا إلى طريقة توزيعها:
الفئةكيف يعملمرئي في سوق Twenty؟
التطويرتطبيقات وضع التطوير المحلي التي تعمل عبر yarn twenty app:dev. تُستخدم للبناء والاختبار.لا
منشورتطبيقات منشورة على npm مع البادئة twenty-app-. مدرجة في سوق Twenty لتتمكن أي مساحة عمل من تثبيتها.نعم
داخليتطبيقات منشورة عبر tarball إلى خادم محدد. متاحة فقط لمساحات العمل على ذلك الخادم.لا
ابدأ في وضع التطوير أثناء بناء تطبيقك. عندما يصبح جاهزًا، اختر منشور (npm) للتوزيع الواسع أو داخلي (tarball) للنشر الخاص.