---
title: CLI
description: أوامر yarn twenty لتنفيذ الدوال، وبثّ السجلات، وإدارة تثبيتات التطبيقات، والتبديل بين الريموتات.
icon: terminal
---

تُعد واجهة سطر الأوامر `yarn twenty` وسيلتك للتعامل مع كل ما يتعلق بالتطبيق. القائمة الكاملة للأوامر:

| أمر                                             | ماذا يفعل                                                                            | موثَّق في                                                                                           |
| ----------------------------------------------- | ------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- |
| `dev`                                           | يراقب ملفات المصدر ويزامن التغييرات مباشرة                                           | [البدء السريع](/l/ar/developers/extend/apps/getting-started/quick-start)                                 |
| `الخطة`                                         | معاينة تغييرات البيانات الوصفية بدون تطبيقها                                         | [المزامنة والاستعادة](/l/ar/developers/extend/apps/operations/sync-and-recovery#previewing-changes-plan) |
| `تطبيق`                                         | تطبيق تغييرات البيانات الوصفية بعد عرض الخطة                                         | [المزامنة والاستعادة](/l/ar/developers/extend/apps/operations/sync-and-recovery)                         |
| `dev:build`                                     | ترجمة التطبيق وإنشاء عميل واجهة برمجة التطبيقات (استخدم `--tarball` لحزم ملف `.tgz`) | [النشر](/l/ar/developers/extend/apps/operations/publishing)                                              |
| `dev:typecheck`                                 | تشغيل فحص الأنواع في TypeScript                                                      | [الاختبار](/l/ar/developers/extend/apps/operations/testing)                                              |
| `dev:add`                                       | إنشاء هيكل كيان جديد                                                                 | [إنشاء الهياكل](/l/ar/developers/extend/apps/getting-started/scaffolding)                                |
| `dev:generate-client`                           | إعادة إنشاء عميل واجهة برمجة التطبيقات مضبوط الأنواع                                 | هذه الصفحة                                                                                          |
| `dev:function:exec` / `dev:function:logs`       | تنفيذ الدوال وبث سجلاتها                                                             | هذه الصفحة                                                                                          |
| `dev:translations-extract`                      | استخراج السلاسل القابلة للترجمة إلى كتالوجات `locales/`                              | [الترجمات](/l/ar/developers/extend/apps/translations/overview)                                           |
| `dev:catalog-sync`                              | تشغيل مزامنة كتالوج السوق                                                            | [النشر](/l/ar/developers/extend/apps/operations/publishing#how-marketplace-discovery-works)              |
| `app:publish` / `app:install` / `app:uninstall` | دورة حياة الإصدارات                                                                  | [النشر](/l/ar/developers/extend/apps/operations/publishing) وهذه الصفحة                                  |
| `docker:*`                                      | إدارة حاوية خادم Twenty المحلي                                                       | [الخادم المحلي](/l/ar/developers/extend/apps/getting-started/local-server)                               |
| `remote:*`                                      | إدارة اتصالات الخادم                                                                 | هذه الصفحة                                                                                          |

كل أمر يقبل الوسيط `-r, --remote \<name>` لاستهداف خادم بعيد معيَّن بدلاً من الخادم الافتراضي.

## تنفيذ الدوال (`yarn twenty dev:function:exec`)

تشغيل دالة منطقية يدويًا دون تشغيلها عبر HTTP أو cron أو حدث قاعدة بيانات:

```bash filename="Terminal"
# Execute by function name
yarn twenty dev:function:exec -n create-new-post-card

# Execute by universalIdentifier
yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf

# Pass a JSON payload
yarn twenty dev:function:exec -n create-new-post-card -p '{"name": "Hello"}'

# Execute the install hooks
yarn twenty dev:function:exec --postInstall
yarn twenty dev:function:exec --preInstall
```

## عرض سجلات الدوال (`yarn twenty dev:function:logs`)

بثّ سجلات التنفيذ لدوال تطبيقك المنطقية:

```bash filename="Terminal"
# Stream all function logs
yarn twenty dev:function:logs

# Filter by function name
yarn twenty dev:function:logs -n create-new-post-card

# Filter by universalIdentifier
yarn twenty dev:function:logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf
```

<Note>
يختلف هذا عن `yarn twenty docker:logs`، الذي يعرض سجلات حاوية Docker. يعرض `yarn twenty dev:function:logs` سجلات تنفيذ دوال تطبيقك من خادم Twenty.
</Note>

## توليد العميل محدد الأنواع (`yarn twenty dev:generate-client`)

أعد توليد عميل واجهة برمجة التطبيقات محدد الأنواع (`twenty-client-sdk`) من مخطط الجهة البعيدة النشطة، دون بناء تطبيق أو مزامنته. استخدمه للحصول على عميل محدد الأنواع في أي مشروع — مثل خدمة خلفية موجودة في مستودع منفصل — يتواصل مع مثيل Twenty الخاص بك:

```bash filename="Terminal"
# In your project (no Twenty app definition required)
yarn add twenty-sdk twenty-client-sdk

# Connect to the Twenty instance to generate the client from
yarn twenty remote:add

# Generate the typed client into node_modules/twenty-client-sdk
yarn twenty dev:generate-client
```

ثم استورد العميل في شيفرتك:

```typescript
import { CoreApiClient } from 'twenty-client-sdk/core';
```

أعد تشغيل الأمر كلما تغيّر نموذج البيانات لديك لتحديث الأنواع المُولَّدة.

<Note>
يتم إنشاء العميل البرمجي داخل `node_modules`، لذا لا يُدرج مع شيفرتك في الالتزامات (commits). شغّل `yarn twenty dev:generate-client` بعد كل عملية تثبيت (على سبيل المثال في سكربت `postinstall` أو في CI).
</Note>

## إلغاء تثبيت تطبيق (`yarn twenty app:uninstall`)

أزل تطبيقك من مساحة العمل النشطة:

```bash filename="Terminal"
yarn twenty app:uninstall

# Skip the confirmation prompt
yarn twenty app:uninstall --yes
```

## إدارة الريموتات

**الريموت** هو خادم Twenty يتصل به تطبيقك. أثناء الإعداد، تُنشئ أداة إنشاء الهيكل واحدًا لك تلقائيًا. يمكنك إضافة ريموتات أخرى أو التبديل بينها في أي وقت.

```bash filename="Terminal"
# Add a new remote (opens a browser for OAuth login)
yarn twenty remote:add

# Connect to a local Twenty server (auto-detects port 2020 or 3000)
yarn twenty remote:add --local

# Add a remote non-interactively (useful for CI)
yarn twenty remote:add --url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote

# List all configured remotes
yarn twenty remote:list

# Set the active remote
yarn twenty remote:use <name>

# Check that the active remote's authentication is still valid
yarn twenty remote:status

# Remove a remote
yarn twenty remote:remove <name>
```

تُخزَّن بيانات اعتمادك في `~/.twenty/config.json`.
