i18n - docs translations (#17939)

Created by Github action

---------

Co-authored-by: github-actions <github-actions@twenty.com>
This commit is contained in:
github-actions[bot]
2026-02-14 00:03:59 +01:00
committed by GitHub
parent d54b713264
commit 2072d5f720
9 changed files with 250 additions and 250 deletions
@@ -27,40 +27,40 @@ description: أنشئ وأدِر تخصيصات Twenty على هيئة كود.
أنشئ تطبيقًا جديدًا باستخدام المُهيئ الرسمي، ثم قم بالمصادقة وابدأ التطوير:
```bash filename="Terminal"
# Scaffold a new app
# إنشاء تطبيق جديد
npx create-twenty-app@latest my-twenty-app
cd my-twenty-app
# If you don't use yarn@4
# إذا كنت لا تستخدم yarn@4
corepack enable
yarn install
# Authenticate using your API key (you'll be prompted)
# قم بالمصادقة باستخدام مفتاح واجهة برمجة التطبيقات الخاص بك (سيُطلب منك ذلك)
yarn twenty auth:login
# Start dev mode: automatically syncs local changes to your workspace
# ابدأ وضع التطوير: يُزامن التغييرات المحلية تلقائيًا مع مساحة العمل الخاصة بك
yarn twenty app:dev
```
من هنا يمكنك:
```bash filename="Terminal"
# Add a new entity to your application (guided)
# أضف كيانًا جديدًا إلى تطبيقك (موجّه)
yarn twenty entity:add
# Generate a typed Twenty client and workspace entity types
# ولِّد عميل Twenty مضبوط الأنواع وأنواع كيانات مساحة العمل
yarn twenty app:generate
# Watch your application's function logs
# راقب سجلات وظائف تطبيقك
yarn twenty function:logs
# Execute a function by name
# نفّذ وظيفة بالاسم
yarn twenty function:execute -n my-function -p '{"name": "test"}'
# Uninstall the application from the current workspace
# أزل تثبيت التطبيق من مساحة العمل الحالية
yarn twenty app:uninstall
# Display commands' help
# اعرض مساعدة الأوامر
yarn twenty help
```
@@ -102,7 +102,7 @@ my-twenty-app/
بشكل عام:
* **package.json**: Declares the app name, version, engines (Node 24+, Yarn 4), and adds `twenty-sdk` plus a `twenty` script that delegates to the local `twenty` CLI. Run `yarn twenty help` to list all available commands.
* **package.json**: يصرّح باسم التطبيق والإصدار والمحرّكات (Node 24+، Yarn 4)، ويضيف `twenty-sdk` بالإضافة إلى نص برمجي `twenty` يفوِّض إلى `twenty` CLI المحلي. شغِّل `yarn twenty help` لعرض جميع الأوامر المتاحة.
* **.gitignore**: يتجاهل العناصر الشائعة مثل `node_modules` و`.yarn` و`generated/` (عميل مضبوط الأنواع) و`dist/` و`build/` ومجلدات التغطية وملفات السجلات وملفات `.env*`.
* **yarn.lock**، **.yarnrc.yml**، **.yarn/**: تقوم بقفل وتكوين حزمة أدوات Yarn 4 المستخدمة في المشروع.
* **.nvmrc**: يثبّت إصدار Node.js المتوقع للمشروع.
@@ -142,12 +142,12 @@ export default defineObject({
ستضيف الأوامر اللاحقة مزيدًا من الملفات والمجلدات:
* `yarn twenty app:generate` will create a `generated/` folder (typed Twenty client + workspace types).
* `yarn twenty entity:add` will add entity definition files under `src/` for your custom objects, functions, front components, or roles.
* `yarn twenty app:generate` سيُنشئ مجلدًا `generated/` (عميل Twenty مضبوط الأنواع + أنواع مساحة العمل).
* `yarn twenty entity:add` سيضيف ملفات تعريف الكيانات تحت `src/` لكائناتك المخصصة أو الوظائف أو المكونات الواجهية أو الأدوار.
## المصادقة
The first time you run `yarn twenty auth:login`, you'll be prompted for:
في المرة الأولى التي تشغّل فيها `yarn twenty auth:login`، سيُطلب منك إدخال:
* عنوان URL لواجهة برمجة التطبيقات (الافتراضي http://localhost:3000 أو ملف تعريف مساحة العمل الحالية لديك)
* مفتاح واجهة برمجة التطبيقات
@@ -157,26 +157,26 @@ The first time you run `yarn twenty auth:login`, you'll be prompted for:
### Managing workspaces
```bash filename="Terminal"
# Login interactively (recommended)
# تسجيل الدخول تفاعليًا (مُوصى به)
yarn twenty auth:login
# Login to a specific workspace profile
# تسجيل الدخول إلى ملف تعريف لمساحة عمل محددة
yarn twenty auth:login --workspace my-custom-workspace
# List all configured workspaces
# عرض جميع مساحات العمل المُكوَّنة
yarn twenty auth:list
# Switch the default workspace (interactive)
# تبديل مساحة العمل الافتراضية (تفاعليًا)
yarn twenty auth:switch
# Switch to a specific workspace
# التبديل إلى مساحة عمل محددة
yarn twenty auth:switch production
# Check current authentication status
# التحقق من حالة المصادقة الحالية
yarn twenty auth:status
```
Once you've switched workspaces with `yarn twenty auth:switch`, all subsequent commands will use that workspace by default. You can still override it temporarily with `--workspace <name>`.
بمجرد أن تقوم بالتبديل بين مساحات العمل باستخدام `yarn twenty auth:switch`، ستستخدم جميع الأوامر اللاحقة تلك المساحة افتراضيًا. You can still override it temporarily with `--workspace <name>`.
## استخدم موارد SDK (الأنواع والتكوين)
@@ -276,7 +276,7 @@ export default defineObject({
* `universalIdentifier` يجب أن يكون فريدًا وثابتًا عبر عمليات النشر.
* يتطلب كل حقل `name` و`type` و`label` ومعرّف `universalIdentifier` ثابتًا خاصًا به.
* المصفوفة `fields` اختيارية — يمكنك تعريف كائنات بدون حقول مخصصة.
* You can scaffold new objects using `yarn twenty entity:add`, which guides you through naming, fields, and relationships.
* يمكنك إنشاء كائنات جديدة باستخدام `yarn twenty entity:add`، والذي يرشدك خلال التسمية والحقول والعلاقات.
<Note>
**يتم إنشاء الحقول الأساسية تلقائيًا.** عند تعريف كائن مخصص، يضيف Twenty تلقائيًا حقولًا قياسية مثل `name` و`createdAt` و`updatedAt` و`createdBy` و`position` و`deletedAt`. لا تحتاج إلى تعريف هذه في مصفوفة `fields` — أضف فقط حقولك المخصصة.
@@ -551,7 +551,7 @@ const handler = async (event: RoutePayload) => {
يمكنك إنشاء وظائف جديدة بطريقتين:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new logic function. يُولّد هذا ملفًا مبدئيًا مع معالج وتكوين.
* **مُنشأ بالقالب**: شغّل `yarn twenty entity:add` واختر خيار إضافة وظيفة منطقية جديدة. يُولّد هذا ملفًا مبدئيًا مع معالج وتكوين.
* **يدوي**: أنشئ ملفًا جديدًا `*.logic-function.ts` واستخدم `defineLogicFunction()` مع اتباع النمط نفسه.
### المكوّنات الأمامية
@@ -584,16 +584,16 @@ export default defineFrontComponent({
* المكوّنات الأمامية هي مكوّنات React تُعرَض ضمن سياقات معزولة داخل Twenty.
* استخدم لاحقة الملف `*.front-component.tsx` للاكتشاف التلقائي.
* يشير الحقل `component` إلى مكوّن React الخاص بك.
* Components are built and synced automatically during `yarn twenty app:dev`.
* يتم بناء المكوّنات ومزامنتها تلقائيًا أثناء `yarn twenty app:dev`.
يمكنك إنشاء مكوّنات أمامية جديدة بطريقتين:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new front component.
* **مُنشأ بالقالب**: شغّل `yarn twenty entity:add` واختر خيار إضافة مكوّن أمامي جديد.
* **يدوي**: أنشئ ملفًا جديدًا `*.front-component.tsx` واستخدم `defineFrontComponent()`.
### عميل مُولَّد مضبوط الأنواع
Run `yarn twenty app:generate` to create a local typed client in `generated/` based on your workspace schema. استخدمه في وظائفك:
شغّل `yarn twenty app:generate` لإنشاء عميل محلي مضبوط الأنواع في `generated/` استنادًا إلى مخطط مساحة العمل لديك. استخدمه في وظائفك:
```typescript
import Twenty from '~/generated';
@@ -602,7 +602,7 @@ const client = new Twenty();
const { me } = await client.query({ me: { id: true, displayName: true } });
```
The client is re-generated by `yarn twenty app:generate`. أعِد التشغيل بعد تغيير كائناتك أو عند الانضمام إلى مساحة عمل جديدة.
يُعاد توليد العميل بواسطة `yarn twenty app:generate`. أعِد التشغيل بعد تغيير كائناتك أو عند الانضمام إلى مساحة عمل جديدة.
#### بيانات الاعتماد وقت التشغيل في الوظائف المنطقية
@@ -623,13 +623,13 @@ The client is re-generated by `yarn twenty app:generate`. أعِد التشغي
## إعداد يدوي (بدون المهيئ)
بينما نوصي باستخدام `create-twenty-app` للحصول على أفضل تجربة للبدء، يمكنك أيضًا إعداد مشروع يدويًا. لا تثبّت CLI عالميًا. Instead, add `twenty-sdk` as a local dependency and wire a single script in your package.json:
بينما نوصي باستخدام `create-twenty-app` للحصول على أفضل تجربة للبدء، يمكنك أيضًا إعداد مشروع يدويًا. لا تثبّت CLI عالميًا. بدل ذلك، أضف `twenty-sdk` كاعتماد محلي واربط سكربتًا واحدًا في ملف package.json لديك:
```bash filename="Terminal"
yarn add -D twenty-sdk
```
Then add a `twenty` script:
ثم أضف سكربتًا باسم `twenty`:
```json filename="package.json"
{
@@ -639,13 +639,13 @@ Then add a `twenty` script:
}
```
Now you can run all commands via `yarn twenty <command>`, e.g. `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help`, etc.
الآن يمكنك تشغيل جميع الأوامر عبر `yarn twenty <command>`، مثلًا: `yarn twenty app:dev`، `yarn twenty app:generate`، `yarn twenty help`، إلخ.
## استكشاف الأخطاء وإصلاحها
* Authentication errors: run `yarn twenty auth:login` and ensure your API key has the required permissions.
* أخطاء المصادقة: شغّل `yarn twenty auth:login` وتأكد من أن مفتاح واجهة برمجة التطبيقات لديك يمتلك الأذونات المطلوبة.
* يتعذّر الاتصال بالخادم: تحقق من عنوان URL لواجهة البرمجة وأن خادم Twenty قابل للوصول.
* Types or client missing/outdated: run `yarn twenty app:generate`.
* Dev mode not syncing: ensure `yarn twenty app:dev` is running and that changes are not ignored by your environment.
* الأنواع أو العميل مفقود/قديم: شغّل `yarn twenty app:generate`.
* وضع التطوير لا يزامن: تأكد من أن `yarn twenty app:dev` قيد التشغيل وأن التغييرات ليست متجاهلة من بيئتك.
قناة المساعدة على Discord: https://discord.com/channels/1130383047699738754/1130386664812982322
@@ -27,40 +27,40 @@ Aplikace vám umožňují vytvářet a spravovat přizpůsobení Twenty **jako k
Vytvořte novou aplikaci pomocí oficiálního scaffolderu, poté se ověřte a začněte vyvíjet:
```bash filename="Terminal"
# Scaffold a new app
# Vygenerujte kostru nové aplikace
npx create-twenty-app@latest my-twenty-app
cd my-twenty-app
# If you don't use yarn@4
# Pokud nepoužíváte yarn@4
corepack enable
yarn install
# Authenticate using your API key (you'll be prompted)
# Přihlaste se pomocí svého API klíče (budete vyzváni)
yarn twenty auth:login
# Start dev mode: automatically syncs local changes to your workspace
# Spusťte vývojový režim: automaticky synchronizuje místní změny s vaším pracovním prostorem
yarn twenty app:dev
```
Odtud můžete:
```bash filename="Terminal"
# Add a new entity to your application (guided)
# Přidejte do vaší aplikace novou entitu (s průvodcem)
yarn twenty entity:add
# Generate a typed Twenty client and workspace entity types
# Vygenerujte typovaného klienta Twenty a typy entit pracovního prostoru
yarn twenty app:generate
# Watch your application's function logs
# Sledujte logy funkcí vaší aplikace
yarn twenty function:logs
# Execute a function by name
# Spusťte funkci podle názvu
yarn twenty function:execute -n my-function -p '{"name": "test"}'
# Uninstall the application from the current workspace
# Odinstalujte aplikaci z aktuálního pracovního prostoru
yarn twenty app:uninstall
# Display commands' help
# Zobrazte nápovědu k příkazům
yarn twenty help
```
@@ -102,7 +102,7 @@ my-twenty-app/
V kostce:
* **package.json**: Declares the app name, version, engines (Node 24+, Yarn 4), and adds `twenty-sdk` plus a `twenty` script that delegates to the local `twenty` CLI. Run `yarn twenty help` to list all available commands.
* **package.json**: Deklaruje název aplikace, verzi, engines (Node 24+, Yarn 4) a přidává `twenty-sdk` plus skript `twenty`, který deleguje na lokální `twenty` CLI. Spusťte `yarn twenty help` pro výpis všech dostupných příkazů.
* **.gitignore**: Ignoruje běžné artefakty jako `node_modules`, `.yarn`, `generated/` (typovaný klient), `dist/`, `build/`, složky s coverage, logy a soubory `.env*`.
* **yarn.lock**, **.yarnrc.yml**, **.yarn/**: Zamykají a konfigurují nástrojový řetězec Yarn 4 používaný projektem.
* **.nvmrc**: Fixuje verzi Node.js požadovanou projektem.
@@ -142,12 +142,12 @@ export default defineObject({
Pozdější příkazy přidají další soubory a složky:
* `yarn twenty app:generate` will create a `generated/` folder (typed Twenty client + workspace types).
* `yarn twenty entity:add` will add entity definition files under `src/` for your custom objects, functions, front components, or roles.
* `yarn twenty app:generate` vytvoří složku `generated/` (typovaný klient Twenty + typy pracovního prostoru).
* `yarn twenty entity:add` přidá soubory s definicemi entit do `src/` pro vaše vlastní objekty, funkce, frontové komponenty nebo role.
## Ověření
The first time you run `yarn twenty auth:login`, you'll be prompted for:
Při prvním spuštění `yarn twenty auth:login` budete vyzváni k zadání:
* URL API (výchozí je http://localhost:3000 nebo váš aktuální profil pracovního prostoru)
* Klíč API
@@ -176,7 +176,7 @@ yarn twenty auth:switch production
yarn twenty auth:status
```
Once you've switched workspaces with `yarn twenty auth:switch`, all subsequent commands will use that workspace by default. Můžete jej stále dočasně přepsat pomocí `--workspace <name>`.
Jakmile přepnete pracovní prostor pomocí `yarn twenty auth:switch`, všechny následující příkazy budou tento pracovní prostor používat jako výchozí. Můžete jej stále dočasně přepsat pomocí `--workspace <name>`.
## Používejte zdroje SDK (typy a konfiguraci)
@@ -276,7 +276,7 @@ Hlavní body:
* Hodnota `universalIdentifier` musí být jedinečná a stabilní napříč nasazeními.
* Každé pole vyžaduje `name`, `type`, `label` a svůj vlastní stabilní `universalIdentifier`.
* Pole `fields` je volitelné — objekty můžete definovat i bez vlastních polí.
* You can scaffold new objects using `yarn twenty entity:add`, which guides you through naming, fields, and relationships.
* Nové objekty můžete vygenerovat pomocí `yarn twenty entity:add`, který vás provede pojmenováním, poli a vztahy.
<Note>
**Základní pole jsou vytvořena automaticky.** Když definujete vlastní objekt, Twenty automaticky přidá standardní pole jako `name`, `createdAt`, `updatedAt`, `createdBy`, `position` a `deletedAt`. Nemusíte je definovat v poli `fields` — přidejte pouze svá vlastní pole.
@@ -551,7 +551,7 @@ const handler = async (event: RoutePayload) => {
Nové funkce můžete vytvářet dvěma způsoby:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new logic function. Tím se vygeneruje startovací soubor s obslužnou funkcí a konfigurací.
* **Vygenerované**: Spusťte `yarn twenty entity:add` a zvolte možnost přidat novou logickou funkci. Tím se vygeneruje startovací soubor s obslužnou funkcí a konfigurací.
* **Ruční**: Vytvořte nový soubor `*.logic-function.ts` a použijte `defineLogicFunction()` podle stejného vzoru.
### Frontendové komponenty
@@ -584,16 +584,16 @@ Hlavní body:
* Frontendové komponenty jsou React komponenty, které se vykreslují v izolovaných kontextech v rámci Twenty.
* Pro automatickou detekci použijte příponu souboru `*.front-component.tsx`.
* Pole `component` odkazuje na vaši React komponentu.
* Components are built and synced automatically during `yarn twenty app:dev`.
* Komponenty se během `yarn twenty app:dev` automaticky sestaví a synchronizují.
Nové frontendové komponenty můžete vytvořit dvěma způsoby:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new front component.
* **Vygenerované**: Spusťte `yarn twenty entity:add` a zvolte možnost přidat novou frontendovou komponentu.
* **Ruční**: Vytvořte nový soubor `*.front-component.tsx` a použijte `defineFrontComponent()`.
### Generovaný typovaný klient
Run `yarn twenty app:generate` to create a local typed client in `generated/` based on your workspace schema. Použijte jej ve svých funkcích:
Spusťte `yarn twenty app:generate` a vytvořte lokálního typovaného klienta v `generated/` na základě schématu vašeho pracovního prostoru. Použijte jej ve svých funkcích:
```typescript
import Twenty from '~/generated';
@@ -602,7 +602,7 @@ const client = new Twenty();
const { me } = await client.query({ me: { id: true, displayName: true } });
```
The client is re-generated by `yarn twenty app:generate`. Spusťte znovu po změně vašich objektů nebo při připojování k novému pracovnímu prostoru.
Klient je znovu generován příkazem `yarn twenty app:generate`. Spusťte znovu po změně vašich objektů nebo při připojování k novému pracovnímu prostoru.
#### Běhové přihlašovací údaje v logických funkcích
@@ -623,13 +623,13 @@ Prozkoumejte minimalistický end-to-end příklad, který demonstruje objekty, l
## Ruční nastavení (bez scaffolderu)
Ačkoli pro nejlepší začátky doporučujeme použít `create-twenty-app`, projekt můžete nastavit i ručně. Neinstalujte CLI globálně. Instead, add `twenty-sdk` as a local dependency and wire a single script in your package.json:
Ačkoli pro nejlepší začátky doporučujeme použít `create-twenty-app`, projekt můžete nastavit i ručně. Neinstalujte CLI globálně. Místo toho přidejte `twenty-sdk` jako lokální závislost a přidejte jeden skript do souboru package.json:
```bash filename="Terminal"
yarn add -D twenty-sdk
```
Then add a `twenty` script:
Poté přidejte skript `twenty`:
```json filename="package.json"
{
@@ -639,13 +639,13 @@ Then add a `twenty` script:
}
```
Now you can run all commands via `yarn twenty <command>`, e.g. `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help`, etc.
Nyní můžete spouštět všechny příkazy přes `yarn twenty <command>`, např. `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help` atd.
## Řešení potíží
* Authentication errors: run `yarn twenty auth:login` and ensure your API key has the required permissions.
* Chyby ověření: spusťte `yarn twenty auth:login` a ujistěte se, že váš klíč API má požadovaná oprávnění.
* Nelze se připojit k serveru: ověřte URL API a že je server Twenty dosažitelný.
* Types or client missing/outdated: run `yarn twenty app:generate`.
* Dev mode not syncing: ensure `yarn twenty app:dev` is running and that changes are not ignored by your environment.
* Typy nebo klient chybí nebo jsou zastaralé: spusťte `yarn twenty app:generate`.
* Režim vývoje se nesynchronizuje: ujistěte se, že běží `yarn twenty app:dev` a že vaše prostředí změny neignoruje.
Kanál podpory na Discordu: https://discord.com/channels/1130383047699738754/1130386664812982322
@@ -27,40 +27,40 @@ Mit Apps können Sie Twenty-Anpassungen **als Code** erstellen und verwalten. An
Erstellen Sie mit dem offiziellen Scaffolder eine neue App, authentifizieren Sie sich und beginnen Sie mit der Entwicklung:
```bash filename="Terminal"
# Scaffold a new app
# Eine neue App erstellen
npx create-twenty-app@latest my-twenty-app
cd my-twenty-app
# If you don't use yarn@4
# Falls du yarn@4 nicht verwendest
corepack enable
yarn install
# Authenticate using your API key (you'll be prompted)
# Mit deinem API-Schlüssel authentifizieren (du wirst dazu aufgefordert)
yarn twenty auth:login
# Start dev mode: automatically syncs local changes to your workspace
# Dev-Modus starten: synchronisiert lokale Änderungen automatisch mit deinem Arbeitsbereich
yarn twenty app:dev
```
Von hier aus können Sie:
```bash filename="Terminal"
# Add a new entity to your application (guided)
# Eine neue Entität zu deiner Anwendung hinzufügen (geführt)
yarn twenty entity:add
# Generate a typed Twenty client and workspace entity types
# Einen typisierten Twenty-Client und Entitätstypen für den Arbeitsbereich generieren
yarn twenty app:generate
# Watch your application's function logs
# Die Funktionsprotokolle deiner Anwendung überwachen
yarn twenty function:logs
# Execute a function by name
# Eine Funktion anhand ihres Namens ausführen
yarn twenty function:execute -n my-function -p '{"name": "test"}'
# Uninstall the application from the current workspace
# Die Anwendung aus dem aktuellen Arbeitsbereich deinstallieren
yarn twenty app:uninstall
# Display commands' help
# Hilfe zu Befehlen anzeigen
yarn twenty help
```
@@ -102,7 +102,7 @@ my-twenty-app/
Auf hoher Ebene:
* **package.json**: Declares the app name, version, engines (Node 24+, Yarn 4), and adds `twenty-sdk` plus a `twenty` script that delegates to the local `twenty` CLI. Run `yarn twenty help` to list all available commands.
* **package.json**: Deklariert den App-Namen, die Version und die Engines (Node 24+, Yarn 4) und fügt `twenty-sdk` sowie ein `twenty`-Skript hinzu, das an die lokale `twenty`-CLI delegiert. Führe `yarn twenty help` aus, um alle verfügbaren Befehle aufzulisten.
* **.gitignore**: Ignoriert übliche Artefakte wie `node_modules`, `.yarn`, `generated/` (typisierter Client), `dist/`, `build/`, Coverage-Ordner, Logdateien und `.env*`-Dateien.
* **yarn.lock**, **.yarnrc.yml**, **.yarn/**: Fixieren und konfigurieren die vom Projekt verwendete Yarn-4-Toolchain.
* **.nvmrc**: Legt die vom Projekt erwartete Node.js-Version fest.
@@ -142,12 +142,12 @@ export default defineObject({
Spätere Befehle fügen weitere Dateien und Ordner hinzu:
* `yarn twenty app:generate` will create a `generated/` folder (typed Twenty client + workspace types).
* `yarn twenty entity:add` will add entity definition files under `src/` for your custom objects, functions, front components, or roles.
* `yarn twenty app:generate` erstellt einen `generated/`-Ordner (typisierter Twenty-Client + Workspace-Typen).
* `yarn twenty entity:add` fügt unter `src/` Entitätsdefinitionsdateien für benutzerdefinierte Objekte, Funktionen, Frontend-Komponenten oder Rollen hinzu.
## Authentifizierung
The first time you run `yarn twenty auth:login`, you'll be prompted for:
Wenn Sie `yarn twenty auth:login` zum ersten Mal ausführen, werden Sie nach Folgendem gefragt:
* API-URL (standardmäßig http://localhost:3000 oder Ihr aktuelles Workspace-Profil)
* API-Schlüssel
@@ -176,7 +176,7 @@ yarn twenty auth:switch production
yarn twenty auth:status
```
Once you've switched workspaces with `yarn twenty auth:switch`, all subsequent commands will use that workspace by default. Sie können es weiterhin vorübergehend mit `--workspace <name>` überschreiben.
Sobald Sie mit `yarn twenty auth:switch` den Arbeitsbereich gewechselt haben, verwenden alle nachfolgenden Befehle standardmäßig diesen Arbeitsbereich. Sie können es weiterhin vorübergehend mit `--workspace <name>` überschreiben.
## SDK-Ressourcen verwenden (Typen & Konfiguration)
@@ -276,7 +276,7 @@ Hauptpunkte:
* Der `universalIdentifier` muss eindeutig und über Deployments hinweg stabil sein.
* Jedes Feld benötigt `name`, `type`, `label` und einen eigenen stabilen `universalIdentifier`.
* Das Array `fields` ist optional — Sie können Objekte ohne benutzerdefinierte Felder definieren.
* You can scaffold new objects using `yarn twenty entity:add`, which guides you through naming, fields, and relationships.
* Sie können mit `yarn twenty entity:add` neue Objekte erzeugen; der Assistent führt Sie durch Benennung, Felder und Beziehungen.
<Note>
**Basisfelder werden automatisch erstellt.** Wenn Sie ein benutzerdefiniertes Objekt definieren, fügt Twenty automatisch Standardfelder wie `name`, `createdAt`, `updatedAt`, `createdBy`, `position` und `deletedAt` hinzu. Sie müssen diese nicht in Ihrem `fields`-Array definieren — fügen Sie nur Ihre benutzerdefinierten Felder hinzu.
@@ -551,7 +551,7 @@ const handler = async (event: RoutePayload) => {
Sie können neue Funktionen auf zwei Arten erstellen:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new logic function. Dadurch wird eine Starterdatei mit Handler und Konfiguration erzeugt.
* **Generiert**: Führen Sie `yarn twenty entity:add` aus und wählen Sie die Option zum Hinzufügen einer neuen Logikfunktion. Dadurch wird eine Starterdatei mit Handler und Konfiguration erzeugt.
* **Manuell**: Erstellen Sie eine neue `*.logic-function.ts`-Datei und verwenden Sie `defineLogicFunction()` nach demselben Muster.
### Frontend-Komponenten
@@ -584,16 +584,16 @@ Hauptpunkte:
* Frontend-Komponenten sind React-Komponenten, die in isolierten Kontexten innerhalb von Twenty gerendert werden.
* Verwenden Sie die Dateiendung `*.front-component.tsx` für die automatische Erkennung.
* Das Feld `component` verweist auf Ihre React-Komponente.
* Components are built and synced automatically during `yarn twenty app:dev`.
* Komponenten werden während `yarn twenty app:dev` automatisch gebaut und synchronisiert.
Sie können neue Frontend-Komponenten auf zwei Arten erstellen:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new front component.
* **Generiert**: Führen Sie `yarn twenty entity:add` aus und wählen Sie die Option zum Hinzufügen einer neuen Frontend-Komponente.
* **Manuell**: Erstellen Sie eine neue `*.front-component.tsx`-Datei und verwenden Sie `defineFrontComponent()`.
### Generierter typisierter Client
Run `yarn twenty app:generate` to create a local typed client in `generated/` based on your workspace schema. Verwenden Sie ihn in Ihren Funktionen:
Führen Sie `yarn twenty app:generate` aus, um einen lokalen typisierten Client in `generated/` basierend auf Ihrem Arbeitsbereichs-Schema zu erstellen. Verwenden Sie ihn in Ihren Funktionen:
```typescript
import Twenty from '~/generated';
@@ -602,7 +602,7 @@ const client = new Twenty();
const { me } = await client.query({ me: { id: true, displayName: true } });
```
The client is re-generated by `yarn twenty app:generate`. Führen Sie ihn nach Änderungen an Ihren Objekten oder beim Onboarding in einen neuen Workspace erneut aus.
Der Client wird durch `yarn twenty app:generate` erneut generiert. Führen Sie ihn nach Änderungen an Ihren Objekten oder beim Onboarding in einen neuen Workspace erneut aus.
#### Laufzeit-Anmeldedaten in Logikfunktionen
@@ -623,13 +623,13 @@ Ein minimales End-to-End-Beispiel, das Objekte, Logikfunktionen, Frontend-Kompon
## Manuelle Einrichtung (ohne Scaffolder)
Wir empfehlen zwar `create-twenty-app` für das beste Einstiegserlebnis, Sie können ein Projekt aber auch manuell einrichten. Installieren Sie die CLI nicht global. Instead, add `twenty-sdk` as a local dependency and wire a single script in your package.json:
Wir empfehlen zwar `create-twenty-app` für das beste Einstiegserlebnis, Sie können ein Projekt aber auch manuell einrichten. Installieren Sie die CLI nicht global. Fügen Sie stattdessen `twenty-sdk` als lokale Abhängigkeit hinzu und binden Sie ein einzelnes Skript in Ihrer package.json ein:
```bash filename="Terminal"
yarn add -D twenty-sdk
```
Then add a `twenty` script:
Fügen Sie dann ein `twenty`-Skript hinzu:
```json filename="package.json"
{
@@ -639,13 +639,13 @@ Then add a `twenty` script:
}
```
Now you can run all commands via `yarn twenty <command>`, e.g. `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help`, etc.
Jetzt können Sie alle Befehle über `yarn twenty <command>` ausführen, z. B. `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help` usw.
## Fehlerbehebung
* Authentication errors: run `yarn twenty auth:login` and ensure your API key has the required permissions.
* Authentifizierungsfehler: Führen Sie `yarn twenty auth:login` aus und stellen Sie sicher, dass Ihr API-Schlüssel die erforderlichen Berechtigungen hat.
* Verbindung zum Server nicht möglich: Überprüfen Sie die API-URL und dass der Twenty-Server erreichbar ist.
* Types or client missing/outdated: run `yarn twenty app:generate`.
* Dev mode not syncing: ensure `yarn twenty app:dev` is running and that changes are not ignored by your environment.
* Typen oder Client fehlen/veraltet: Führen Sie `yarn twenty app:generate` aus.
* Dev-Modus synchronisiert nicht: Stellen Sie sicher, dass `yarn twenty app:dev` läuft und dass Änderungen von Ihrer Umgebung nicht ignoriert werden.
Discord-Hilfekanal: https://discord.com/channels/1130383047699738754/1130386664812982322
@@ -27,40 +27,40 @@ Le app ti consentono di creare e gestire le personalizzazioni di Twenty **come c
Crea una nuova app utilizzando lo scaffolder ufficiale, quindi autenticati e inizia a sviluppare:
```bash filename="Terminal"
# Scaffold a new app
# Crea lo scaffold di una nuova app
npx create-twenty-app@latest my-twenty-app
cd my-twenty-app
# If you don't use yarn@4
# Se non usi yarn@4
corepack enable
yarn install
# Authenticate using your API key (you'll be prompted)
# Autenticati usando la tua API key (ti verrà richiesto)
yarn twenty auth:login
# Start dev mode: automatically syncs local changes to your workspace
# Avvia la modalità di sviluppo: sincronizza automaticamente le modifiche locali con il tuo workspace
yarn twenty app:dev
```
Da qui puoi:
```bash filename="Terminal"
# Add a new entity to your application (guided)
# Aggiungi una nuova entità alla tua applicazione (guidata)
yarn twenty entity:add
# Generate a typed Twenty client and workspace entity types
# Genera un client Twenty tipizzato e i tipi di entità dell'area di lavoro
yarn twenty app:generate
# Watch your application's function logs
# Monitora i log delle funzioni della tua applicazione
yarn twenty function:logs
# Execute a function by name
yarn twenty function:execute -n my-function -p '{"name": "test"}'
# Esegui una funzione per nome
yarn twenty function:execute -n my-function -p '{\"name\": \"test\"}'
# Uninstall the application from the current workspace
# Disinstalla l'applicazione dallo spazio di lavoro corrente
yarn twenty app:uninstall
# Display commands' help
# Mostra l'aiuto dei comandi
yarn twenty help
```
@@ -102,7 +102,7 @@ my-twenty-app/
A livello generale:
* **package.json**: Declares the app name, version, engines (Node 24+, Yarn 4), and adds `twenty-sdk` plus a `twenty` script that delegates to the local `twenty` CLI. Run `yarn twenty help` to list all available commands.
* **package.json**: Dichiara il nome dell'app, la versione, i motori (Node 24+, Yarn 4) e aggiunge `twenty-sdk` più uno script `twenty` che delega alla CLI locale `twenty`. Esegui `yarn twenty help` per elencare tutti i comandi disponibili.
* **.gitignore**: Ignora i file generati comuni come `node_modules`, `.yarn`, `generated/` (client tipizzato), `dist/`, `build/`, cartelle di coverage, file di log e file `.env*`.
* **yarn.lock**, **.yarnrc.yml**, **.yarn/**: Bloccano e configurano la toolchain Yarn 4 utilizzata dal progetto.
* **.nvmrc**: Fissa la versione di Node.js prevista dal progetto.
@@ -142,12 +142,12 @@ export default defineObject({
Comandi successivi aggiungeranno altri file e cartelle:
* `yarn twenty app:generate` will create a `generated/` folder (typed Twenty client + workspace types).
* `yarn twenty entity:add` will add entity definition files under `src/` for your custom objects, functions, front components, or roles.
* `yarn twenty app:generate` creerà una cartella `generated/` (client Twenty tipizzato + tipi dello spazio di lavoro).
* `yarn twenty entity:add` aggiungerà file di definizione delle entità sotto `src/` per i tuoi oggetti, funzioni, componenti front-end o ruoli personalizzati.
## Autenticazione
The first time you run `yarn twenty auth:login`, you'll be prompted for:
La prima volta che esegui `yarn twenty auth:login`, ti verranno richiesti:
* URL dell'API (predefinito a http://localhost:3000 o al profilo dello spazio di lavoro corrente)
* Chiave API
@@ -176,7 +176,7 @@ yarn twenty auth:switch production
yarn twenty auth:status
```
Once you've switched workspaces with `yarn twenty auth:switch`, all subsequent commands will use that workspace by default. Puoi comunque sovrascriverla temporaneamente con `--workspace <name>`.
Una volta che hai cambiato area di lavoro con `yarn twenty auth:switch`, tutti i comandi successivi utilizzeranno quell'area di lavoro per impostazione predefinita. Puoi comunque sovrascriverla temporaneamente con `--workspace <name>`.
## Usa le risorse dell'SDK (tipi e configurazione)
@@ -276,7 +276,7 @@ Punti chiave:
* Il `universalIdentifier` deve essere univoco e stabile tra i deployment.
* Ogni campo richiede un `name`, `type`, `label` e il proprio `universalIdentifier` stabile.
* L'array `fields` è facoltativo: puoi definire oggetti senza campi personalizzati.
* You can scaffold new objects using `yarn twenty entity:add`, which guides you through naming, fields, and relationships.
* Puoi generare nuovi oggetti con `yarn twenty entity:add`, che ti guida nella denominazione, nei campi e nelle relazioni.
<Note>
**I campi base vengono creati automaticamente.** Quando definisci un oggetto personalizzato, Twenty aggiunge automaticamente i campi standard come `name`, `createdAt`, `updatedAt`, `createdBy`, `position` e `deletedAt`. Non è necessario definirli nel tuo array `fields` — aggiungi solo i tuoi campi personalizzati.
@@ -551,7 +551,7 @@ const handler = async (event: RoutePayload) => {
Puoi creare nuove funzioni in due modi:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new logic function. Questo genera un file iniziale con un handler e una configurazione.
* **Generata dallo scaffolder**: Esegui `yarn twenty entity:add` e scegli l'opzione per aggiungere una nuova funzione logica. Questo genera un file iniziale con un handler e una configurazione.
* **Manuale**: Crea un nuovo file `*.logic-function.ts` e usa `defineLogicFunction()`, seguendo lo stesso schema.
### Componenti front-end
@@ -584,16 +584,16 @@ Punti chiave:
* I componenti front-end sono componenti React che eseguono il rendering in contesti isolati all'interno di Twenty.
* Usa il suffisso di file `*.front-component.tsx` per il rilevamento automatico.
* Il campo `component` fa riferimento al tuo componente React.
* Components are built and synced automatically during `yarn twenty app:dev`.
* I componenti vengono compilati e sincronizzati automaticamente durante `yarn twenty app:dev`.
Puoi creare nuovi componenti front-end in due modi:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new front component.
* **Generata dallo scaffolder**: Esegui `yarn twenty entity:add` e scegli l'opzione per aggiungere un nuovo componente front-end.
* **Manuale**: Crea un nuovo file `*.front-component.tsx` e usa `defineFrontComponent()`.
### Client tipizzato generato
Run `yarn twenty app:generate` to create a local typed client in `generated/` based on your workspace schema. Usalo nelle tue funzioni:
Esegui `yarn twenty app:generate` per creare un client tipizzato locale in `generated/` basato sullo schema del tuo spazio di lavoro. Usalo nelle tue funzioni:
```typescript
import Twenty from '~/generated';
@@ -602,7 +602,7 @@ const client = new Twenty();
const { me } = await client.query({ me: { id: true, displayName: true } });
```
The client is re-generated by `yarn twenty app:generate`. Eseguilo nuovamente dopo aver modificato i tuoi oggetti oppure quando effettui l'onboarding su un nuovo spazio di lavoro.
Il client viene rigenerato da `yarn twenty app:generate`. Eseguilo nuovamente dopo aver modificato i tuoi oggetti oppure quando effettui l'onboarding su un nuovo spazio di lavoro.
#### Credenziali di runtime nelle funzioni logiche
@@ -623,13 +623,13 @@ Esplora un esempio minimale end-to-end che dimostra oggetti, funzioni logiche, c
## Configurazione manuale (senza lo scaffolder)
Sebbene consigliamo di utilizzare `create-twenty-app` per la migliore esperienza iniziale, puoi anche configurare un progetto manualmente. Non installare la CLI globalmente. Instead, add `twenty-sdk` as a local dependency and wire a single script in your package.json:
Sebbene consigliamo di utilizzare `create-twenty-app` per la migliore esperienza iniziale, puoi anche configurare un progetto manualmente. Non installare la CLI globalmente. Invece, aggiungi `twenty-sdk` come dipendenza locale e collega un unico script nel tuo package.json:
```bash filename="Terminal"
yarn add -D twenty-sdk
```
Then add a `twenty` script:
Quindi aggiungi uno script `twenty`:
```json filename="package.json"
{
@@ -639,13 +639,13 @@ Then add a `twenty` script:
}
```
Now you can run all commands via `yarn twenty <command>`, e.g. `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help`, etc.
Ora puoi eseguire tutti i comandi tramite `yarn twenty <command>`, ad es. `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help`, ecc.
## Risoluzione dei problemi
* Authentication errors: run `yarn twenty auth:login` and ensure your API key has the required permissions.
* Errori di autenticazione: esegui `yarn twenty auth:login` e assicurati che la tua chiave API abbia i permessi richiesti.
* Impossibile connettersi al server: verifica l'URL dell'API e che il server Twenty sia raggiungibile.
* Types or client missing/outdated: run `yarn twenty app:generate`.
* Dev mode not syncing: ensure `yarn twenty app:dev` is running and that changes are not ignored by your environment.
* Tipi o client mancanti/obsoleti: esegui `yarn twenty app:generate`.
* Modalità di sviluppo non sincronizzata: assicurati che `yarn twenty app:dev` sia in esecuzione e che le modifiche non vengano ignorate dal tuo ambiente.
Canale di supporto su Discord: https://discord.com/channels/1130383047699738754/1130386664812982322
@@ -45,22 +45,22 @@ yarn twenty app:dev
A partir daqui você pode:
```bash filename="Terminal"
# Add a new entity to your application (guided)
# Adicionar uma nova entidade à sua aplicação (assistido)
yarn twenty entity:add
# Generate a typed Twenty client and workspace entity types
# Gerar um cliente Twenty tipado e tipos de entidades do espaço de trabalho
yarn twenty app:generate
# Watch your application's function logs
# Acompanhar os logs das funções da sua aplicação
yarn twenty function:logs
# Execute a function by name
# Executar uma função pelo nome
yarn twenty function:execute -n my-function -p '{"name": "test"}'
# Uninstall the application from the current workspace
# Desinstalar a aplicação do espaço de trabalho atual
yarn twenty app:uninstall
# Display commands' help
# Exibir a ajuda dos comandos
yarn twenty help
```
@@ -102,7 +102,7 @@ my-twenty-app/
Em alto nível:
* **package.json**: Declares the app name, version, engines (Node 24+, Yarn 4), and adds `twenty-sdk` plus a `twenty` script that delegates to the local `twenty` CLI. Run `yarn twenty help` to list all available commands.
* **package.json**: Declara o nome do app, versão, engines (Node 24+, Yarn 4), e adiciona `twenty-sdk` além de um script `twenty` que delega para a CLI `twenty` local. Execute `yarn twenty help` para listar todos os comandos disponíveis.
* **.gitignore**: Ignora artefatos comuns como `node_modules`, `.yarn`, `generated/` (cliente tipado), `dist/`, `build/`, pastas de cobertura, arquivos de log e arquivos `.env*`.
* **yarn.lock**, **.yarnrc.yml**, **.yarn/**: Bloqueiam e configuram a ferramenta Yarn 4 usada pelo projeto.
* **.nvmrc**: Fixa a versão do Node.js esperada pelo projeto.
@@ -142,12 +142,12 @@ export default defineObject({
Comandos posteriores adicionarão mais arquivos e pastas:
* `yarn twenty app:generate` will create a `generated/` folder (typed Twenty client + workspace types).
* `yarn twenty entity:add` will add entity definition files under `src/` for your custom objects, functions, front components, or roles.
* `yarn twenty app:generate` criará uma pasta `generated/` (cliente tipado do Twenty + tipos do espaço de trabalho).
* `yarn twenty entity:add` adicionará arquivos de definição de entidade em `src/` para seus objetos, funções, componentes de front-end ou papéis personalizados.
## Autenticação
The first time you run `yarn twenty auth:login`, you'll be prompted for:
Na primeira vez que você executar `yarn twenty auth:login`, será solicitado o seguinte:
* URL da API (padrão: http://localhost:3000 ou o perfil do seu espaço de trabalho atual)
* Chave de API
@@ -157,26 +157,26 @@ Suas credenciais são armazenadas por usuário em `~/.twenty/config.json`. Você
### Gerenciando espaços de trabalho
```bash filename="Terminal"
# Login interactively (recommended)
# Fazer login interativamente (recomendado)
yarn twenty auth:login
# Login to a specific workspace profile
# Fazer login em um perfil de espaço de trabalho específico
yarn twenty auth:login --workspace my-custom-workspace
# List all configured workspaces
# Listar todos os espaços de trabalho configurados
yarn twenty auth:list
# Switch the default workspace (interactive)
# Alterar o espaço de trabalho padrão (interativo)
yarn twenty auth:switch
# Switch to a specific workspace
# Alternar para um espaço de trabalho específico
yarn twenty auth:switch production
# Check current authentication status
# Verificar o status atual da autenticação
yarn twenty auth:status
```
Once you've switched workspaces with `yarn twenty auth:switch`, all subsequent commands will use that workspace by default. Você ainda pode substituí-lo temporariamente com `--workspace <name>`.
Depois que você alternar os espaços de trabalho com `yarn twenty auth:switch`, todos os comandos subsequentes usarão esse espaço de trabalho por padrão. Você ainda pode substituí-lo temporariamente com `--workspace <name>`.
## Use os recursos do SDK (tipos e configuração)
@@ -276,7 +276,7 @@ Pontos-chave:
* O `universalIdentifier` deve ser exclusivo e estável entre implantações.
* Cada campo requer `name`, `type`, `label` e seu próprio `universalIdentifier` estável.
* O array `fields` é opcional — você pode definir objetos sem campos personalizados.
* You can scaffold new objects using `yarn twenty entity:add`, which guides you through naming, fields, and relationships.
* Você pode criar novos objetos usando `yarn twenty entity:add`, que orienta você sobre nomeação, campos e relacionamentos.
<Note>
**Os campos base são criados automaticamente.** Quando você define um objeto personalizado, o Twenty adiciona automaticamente campos padrão como `name`, `createdAt`, `updatedAt`, `createdBy`, `position` e `deletedAt`. Você não precisa definir esses no seu array `fields` — adicione apenas seus campos personalizados.
@@ -551,7 +551,7 @@ const handler = async (event: RoutePayload) => {
Você pode criar novas funções de duas formas:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new logic function. Isso gera um arquivo inicial com um handler e configuração.
* **Gerado automaticamente**: Execute `yarn twenty entity:add` e escolha a opção para adicionar uma nova função de lógica. Isso gera um arquivo inicial com um handler e configuração.
* **Manual**: Crie um novo arquivo `*.logic-function.ts` e use `defineLogicFunction()`, seguindo o mesmo padrão.
### Componentes de front-end
@@ -584,16 +584,16 @@ Pontos-chave:
* Componentes de front-end são componentes React que renderizam em contextos isolados dentro do Twenty.
* Use o sufixo de arquivo `*.front-component.tsx` para detecção automática.
* O campo `component` faz referência ao seu componente React.
* Components are built and synced automatically during `yarn twenty app:dev`.
* Os componentes são compilados e sincronizados automaticamente durante `yarn twenty app:dev`.
Você pode criar novos componentes de front-end de duas formas:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new front component.
* **Gerado automaticamente**: Execute `yarn twenty entity:add` e escolha a opção para adicionar um novo componente de front-end.
* **Manual**: Crie um novo arquivo `*.front-component.tsx` e use `defineFrontComponent()`.
### Cliente tipado gerado
Run `yarn twenty app:generate` to create a local typed client in `generated/` based on your workspace schema. Use-o em suas funções:
Execute `yarn twenty app:generate` para criar um cliente tipado local em `generated/` com base no esquema do seu espaço de trabalho. Use-o em suas funções:
```typescript
import Twenty from '~/generated';
@@ -602,7 +602,7 @@ const client = new Twenty();
const { me } = await client.query({ me: { id: true, displayName: true } });
```
The client is re-generated by `yarn twenty app:generate`. Execute novamente após alterar seus objetos ou ao ingressar em um novo workspace.
O cliente é regenerado pelo `yarn twenty app:generate`. Execute novamente após alterar seus objetos ou ao ingressar em um novo workspace.
#### Credenciais em tempo de execução em funções de lógica
@@ -623,13 +623,13 @@ Explore um exemplo mínimo de ponta a ponta que demonstra objetos, funções de
## Configuração manual (sem o gerador)
Embora recomendemos usar `create-twenty-app` para a melhor experiência inicial, você também pode configurar um projeto manualmente. Não instale a CLI globalmente. Instead, add `twenty-sdk` as a local dependency and wire a single script in your package.json:
Embora recomendemos usar `create-twenty-app` para a melhor experiência inicial, você também pode configurar um projeto manualmente. Não instale a CLI globalmente. Em vez disso, adicione `twenty-sdk` como uma dependência local e configure um único script no seu package.json:
```bash filename="Terminal"
yarn add -D twenty-sdk
```
Then add a `twenty` script:
Em seguida, adicione um script `twenty`:
```json filename="package.json"
{
@@ -639,13 +639,13 @@ Then add a `twenty` script:
}
```
Now you can run all commands via `yarn twenty <command>`, e.g. `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help`, etc.
Agora você pode executar todos os comandos via `yarn twenty <command>`, por exemplo, `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help`, etc.
## Resolução de Problemas
* Authentication errors: run `yarn twenty auth:login` and ensure your API key has the required permissions.
* Erros de autenticação: execute `yarn twenty auth:login` e certifique-se de que sua chave de API tenha as permissões necessárias.
* Não é possível conectar ao servidor: verifique a URL da API e se o servidor do Twenty está acessível.
* Types or client missing/outdated: run `yarn twenty app:generate`.
* Dev mode not syncing: ensure `yarn twenty app:dev` is running and that changes are not ignored by your environment.
* Tipos ou cliente ausentes/desatualizados: execute `yarn twenty app:generate`.
* Modo de desenvolvimento não sincronizando: certifique-se de que `yarn twenty app:dev` esteja em execução e de que as alterações não estejam sendo ignoradas pelo seu ambiente.
Canal de ajuda no Discord: https://discord.com/channels/1130383047699738754/1130386664812982322
@@ -39,29 +39,29 @@ yarn install
yarn twenty auth:login
# Pornește modul de dezvoltare: sincronizează automat modificările locale cu spațiul tău de lucru
yarn twenty app:dev},{
yarn twenty app:dev
```
De aici puteți:
```bash filename="Terminal"
# Add a new entity to your application (guided)
# Adaugă o entitate nouă în aplicația ta (ghidat)
yarn twenty entity:add
# Generate a typed Twenty client and workspace entity types
# Generează un client Twenty tipizat și tipurile de entități ale spațiului de lucru
yarn twenty app:generate
# Watch your application's function logs
# Urmărește jurnalele funcțiilor aplicației tale
yarn twenty function:logs
# Execute a function by name
# Execută o funcție după nume
yarn twenty function:execute -n my-function -p '{"name": "test"}'
# Uninstall the application from the current workspace
# Dezinstalează aplicația din spațiul de lucru curent
yarn twenty app:uninstall
# Display commands' help
yarn twenty help)
# Afișează ajutorul pentru comenzi
yarn twenty help
```
Consultați și: paginile de referință CLI pentru [create-twenty-app](https://www.npmjs.com/package/create-twenty-app) și [twenty-sdk CLI](https://www.npmjs.com/package/twenty-sdk).
@@ -147,7 +147,7 @@ Comenzile ulterioare vor adăuga mai multe fișiere și foldere:
## Autentificare
The first time you run `yarn twenty auth:login`, you'll be prompted for:
Prima dată când rulați `yarn twenty auth:login`, vi se vor solicita:
* URL-ul API (implicit http://localhost:3000 sau profilul spațiului de lucru curent)
* Cheie API
@@ -176,7 +176,7 @@ yarn twenty auth:switch production
yarn twenty auth:status
```
Once you've switched workspaces with `yarn twenty auth:switch`, all subsequent commands will use that workspace by default. Îl puteți totuși suprascrie temporar cu `--workspace <name>`.
După ce ați schimbat spațiul de lucru cu `yarn twenty auth:switch`, toate comenzile ulterioare vor folosi implicit acel spațiu de lucru. Îl puteți totuși suprascrie temporar cu `--workspace <name>`.
## Utilizați resursele SDK (tipuri și configurare)
@@ -276,7 +276,7 @@ Puncte cheie:
* `universalIdentifier` trebuie să fie unic și stabil între implementări.
* Fiecare câmp necesită un `name`, un `type`, un `label` și propriul `universalIdentifier` stabil.
* Matricea `fields` este opțională — puteți defini obiecte fără câmpuri personalizate.
* You can scaffold new objects using `yarn twenty entity:add`, which guides you through naming, fields, and relationships.
* Puteți genera obiecte noi folosind `yarn twenty entity:add`, care vă ghidează prin denumire, câmpuri și relații.
<Note>
**Câmpurile de bază sunt create automat.** Când definiți un obiect personalizat, Twenty adaugă automat câmpuri standard precum `name`, `createdAt`, `updatedAt`, `createdBy`, `position` și `deletedAt`. Nu trebuie să le definiți în tabloul `fields` — adăugați doar câmpurile personalizate proprii.
@@ -551,7 +551,7 @@ const handler = async (event: RoutePayload) => {
Puteți crea funcții noi în două moduri:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new logic function. Aceasta generează un fișier inițial cu un handler și o configurație.
* **Generat**: Rulați `yarn twenty entity:add` și alegeți opțiunea de a adăuga o funcție logică nouă. Aceasta generează un fișier inițial cu un handler și o configurație.
* **Manual**: Creați un fișier nou `*.logic-function.ts` și folosiți `defineLogicFunction()`, urmând același model.
### Componente Front
@@ -584,16 +584,16 @@ Puncte cheie:
* Componentele Front sunt componente React care sunt randate în contexte izolate în cadrul Twenty.
* Folosiți sufixul de fișier `*.front-component.tsx` pentru detectare automată.
* Câmpul `component` face referire la componenta React.
* Components are built and synced automatically during `yarn twenty app:dev`.
* Componentele sunt construite și sincronizate automat în timpul `yarn twenty app:dev`.
Puteți crea componente Front noi în două moduri:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new front component.
* **Generat**: Rulați `yarn twenty entity:add` și alegeți opțiunea de a adăuga o componentă frontend nouă.
* **Manual**: Creați un fișier nou `*.front-component.tsx` și folosiți `defineFrontComponent()`.
### Client tipizat generat
Run `yarn twenty app:generate` to create a local typed client in `generated/` based on your workspace schema. Folosiți-l în funcțiile dvs.:
Rulați `yarn twenty app:generate` pentru a crea un client tipizat local în `generated/`, pe baza schemei spațiului de lucru. Folosiți-l în funcțiile dvs.:
```typescript
import Twenty from '~/generated';
@@ -602,7 +602,7 @@ const client = new Twenty();
const { me } = await client.query({ me: { id: true, displayName: true } });
```
The client is re-generated by `yarn twenty app:generate`. Rulați din nou după ce vă modificați obiectele sau când vă integrați într-un spațiu de lucru nou.
Clientul este regenerat de `yarn twenty app:generate`. Rulați din nou după ce vă modificați obiectele sau când vă integrați într-un spațiu de lucru nou.
#### Acreditări la runtime în funcțiile de logică
@@ -623,13 +623,13 @@ Explorați un exemplu minim, cap la cap, care demonstrează obiecte, funcții de
## Configurare manuală (fără generator)
Deși recomandăm utilizarea `create-twenty-app` pentru cea mai bună experiență de început, puteți configura și un proiect manual. Nu instalați CLI-ul global. Instead, add `twenty-sdk` as a local dependency and wire a single script in your package.json:
Deși recomandăm utilizarea `create-twenty-app` pentru cea mai bună experiență de început, puteți configura și un proiect manual. Nu instalați CLI-ul global. În schimb, adăugați `twenty-sdk` ca dependență locală și conectați un singur script în package.json-ul dvs.:
```bash filename="Terminal"
yarn add -D twenty-sdk
```
Then add a `twenty` script:
Apoi adăugați un script `twenty`:
```json filename="package.json"
{
@@ -639,13 +639,13 @@ Then add a `twenty` script:
}
```
Now you can run all commands via `yarn twenty <command>`, e.g. `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help`, etc.
Acum puteți rula toate comenzile prin `yarn twenty <command>`, de ex. `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help`, etc.
## Depanare
* Authentication errors: run `yarn twenty auth:login` and ensure your API key has the required permissions.
* Erori de autentificare: rulați `yarn twenty auth:login` și asigurați-vă că cheia API are permisiunile necesare.
* Nu se poate conecta la server: verificați URL-ul API și că serverul Twenty este accesibil.
* Types or client missing/outdated: run `yarn twenty app:generate`.
* Dev mode not syncing: ensure `yarn twenty app:dev` is running and that changes are not ignored by your environment.
* Tipuri sau client lipsă/învechite: rulați `yarn twenty app:generate`.
* Modul dev nu sincronizează: asigurați-vă că `yarn twenty app:dev` rulează și că modificările nu sunt ignorate de mediul dvs.
Canal de ajutor pe Discord: https://discord.com/channels/1130383047699738754/1130386664812982322
@@ -27,40 +27,40 @@ description: Создавайте и управляйте настройками
Создайте новое приложение с помощью официального генератора, затем выполните аутентификацию и начните разработку:
```bash filename="Terminal"
# Scaffold a new app
# Создать каркас нового приложения
npx create-twenty-app@latest my-twenty-app
cd my-twenty-app
# If you don't use yarn@4
# Если вы не используете yarn@4
corepack enable
yarn install
# Authenticate using your API key (you'll be prompted)
# Аутентифицироваться с помощью вашего API-ключа (вам будет предложено)
yarn twenty auth:login
# Start dev mode: automatically syncs local changes to your workspace
# Запустить режим разработки: автоматически синхронизирует локальные изменения с вашим рабочим пространством
yarn twenty app:dev
```
Отсюда вы можете:
```bash filename="Terminal"
# Add a new entity to your application (guided)
# Добавить новую сущность в ваше приложение (с мастером)
yarn twenty entity:add
# Generate a typed Twenty client and workspace entity types
# Сгенерировать типизированный клиент Twenty и типы сущностей рабочего пространства
yarn twenty app:generate
# Watch your application's function logs
# Просматривать логи функций вашего приложения
yarn twenty function:logs
# Execute a function by name
yarn twenty function:execute -n my-function -p '{"name": "test"}'
# Выполнить функцию по имени
yarn twenty function:execute -n my-function -p '{\"name\": \"test\"}'
# Uninstall the application from the current workspace
# Удалить приложение из текущего рабочего пространства
yarn twenty app:uninstall
# Display commands' help
# Показать справку по командам
yarn twenty help
```
@@ -102,7 +102,7 @@ my-twenty-app/
В общих чертах:
* **package.json**: Declares the app name, version, engines (Node 24+, Yarn 4), and adds `twenty-sdk` plus a `twenty` script that delegates to the local `twenty` CLI. Run `yarn twenty help` to list all available commands.
* **package.json**: Объявляет имя приложения, версию, движки (Node 24+, Yarn 4) и добавляет `twenty-sdk`, а также скрипт `twenty`, который делегирует выполнение локальному CLI `twenty`. Выполните `yarn twenty help`, чтобы вывести список всех доступных команд.
* **.gitignore**: Игнорирует распространённые артефакты, такие как `node_modules`, `.yarn`, `generated/` (типизированный клиент), `dist/`, `build/`, каталоги coverage, файлы журналов и файлы `.env*`.
* **yarn.lock**, **.yarnrc.yml**, **.yarn/**: Фиксируют и настраивают используемый в проекте инструментарий Yarn 4.
* **.nvmrc**: Фиксирует версию Node.js, ожидаемую проектом.
@@ -142,12 +142,12 @@ export default defineObject({
Позднее команды добавят больше файлов и папок:
* `yarn twenty app:generate` will create a `generated/` folder (typed Twenty client + workspace types).
* `yarn twenty entity:add` will add entity definition files under `src/` for your custom objects, functions, front components, or roles.
* `yarn twenty app:generate` создаст папку `generated/` (типизированный клиент Twenty + типы рабочего пространства).
* `yarn twenty entity:add` добавит файлы определений сущностей в `src/` для ваших пользовательских объектов, функций, фронтенд-компонентов или ролей.
## Аутентификация
The first time you run `yarn twenty auth:login`, you'll be prompted for:
При первом запуске `yarn twenty auth:login` вам будет предложено указать:
* URL API (по умолчанию http://localhost:3000 или текущий профиль рабочего пространства)
* Ключ API
@@ -157,26 +157,26 @@ The first time you run `yarn twenty auth:login`, you'll be prompted for:
### Управление рабочими пространствами
```bash filename="Terminal"
# Login interactively (recommended)
# Войти в интерактивном режиме (рекомендуется)
yarn twenty auth:login
# Login to a specific workspace profile
# Войти в профиль конкретного рабочего пространства
yarn twenty auth:login --workspace my-custom-workspace
# List all configured workspaces
# Показать список всех настроенных рабочих пространств
yarn twenty auth:list
# Switch the default workspace (interactive)
# Переключить рабочее пространство по умолчанию (в интерактивном режиме)
yarn twenty auth:switch
# Switch to a specific workspace
# Переключиться на определённое рабочее пространство
yarn twenty auth:switch production
# Check current authentication status
# Проверить текущий статус аутентификации
yarn twenty auth:status
```
Once you've switched workspaces with `yarn twenty auth:switch`, all subsequent commands will use that workspace by default. Вы по-прежнему можете временно переопределить это с помощью `--workspace <name>`.
После переключения рабочего пространства с помощью `yarn twenty auth:switch` все последующие команды по умолчанию будут использовать это рабочее пространство. Вы по-прежнему можете временно переопределить это с помощью `--workspace <name>`.
## Используйте ресурсы SDK (типы и конфигурация)
@@ -276,7 +276,7 @@ export default defineObject({
* `universalIdentifier` должен быть уникальным и стабильным между развёртываниями.
* Каждому полю требуются `name`, `type`, `label` и собственный стабильный `universalIdentifier`.
* Массив `fields` необязателен — вы можете определять объекты без пользовательских полей.
* You can scaffold new objects using `yarn twenty entity:add`, which guides you through naming, fields, and relationships.
* Вы можете сгенерировать новые объекты с помощью `yarn twenty entity:add`, который проведёт вас через настройку имени, полей и связей.
<Note>
**Базовые поля создаются автоматически.** Когда вы определяете пользовательский объект, Twenty автоматически добавляет стандартные поля, такие как `name`, `createdAt`, `updatedAt`, `createdBy`, `position` и `deletedAt`. Вам не нужно определять их в массиве `fields` — добавляйте только свои пользовательские поля.
@@ -551,7 +551,7 @@ const handler = async (event: RoutePayload) => {
Вы можете создать новые функции двумя способами:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new logic function. Это создаёт стартовый файл с обработчиком и конфигурацией.
* **Сгенерировано**: Запустите `yarn twenty entity:add` и выберите опцию добавления новой функции логики. Это создаёт стартовый файл с обработчиком и конфигурацией.
* **Вручную**: Создайте новый файл `*.logic-function.ts` и используйте `defineLogicFunction()`, следуя тому же шаблону.
### Фронт-компоненты
@@ -584,16 +584,16 @@ export default defineFrontComponent({
* Фронт-компоненты — это компоненты React, которые рендерятся в изолированных контекстах внутри Twenty.
* Используйте суффикс файла `*.front-component.tsx` для автоматического обнаружения.
* Поле `component` ссылается на ваш компонент React.
* Components are built and synced automatically during `yarn twenty app:dev`.
* Компоненты автоматически собираются и синхронизируются во время `yarn twenty app:dev`.
Вы можете создать новые фронт-компоненты двумя способами:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new front component.
* **Сгенерировано**: Запустите `yarn twenty entity:add` и выберите опцию добавления нового фронтенд-компонента.
* **Вручную**: Создайте новый файл `*.front-component.tsx` и используйте `defineFrontComponent()`.
### Сгенерированный типизированный клиент
Run `yarn twenty app:generate` to create a local typed client in `generated/` based on your workspace schema. Используйте его в своих функциях:
Запустите `yarn twenty app:generate`, чтобы создать локальный типизированный клиент в `generated/` на основе схемы вашего рабочего пространства. Используйте его в своих функциях:
```typescript
import Twenty from '~/generated';
@@ -602,7 +602,7 @@ const client = new Twenty();
const { me } = await client.query({ me: { id: true, displayName: true } });
```
The client is re-generated by `yarn twenty app:generate`. Запускайте повторно после изменения ваших объектов или при подключении к новому рабочему пространству.
Клиент повторно генерируется командой `yarn twenty app:generate`. Запускайте повторно после изменения ваших объектов или при подключении к новому рабочему пространству.
#### Учётные данные времени выполнения в логических функциях
@@ -623,13 +623,13 @@ The client is re-generated by `yarn twenty app:generate`. Запускайте
## Ручная настройка (без генератора)
Хотя мы рекомендуем использовать `create-twenty-app` для наилучшего старта, вы также можете настроить проект вручную. Не устанавливайте CLI глобально. Instead, add `twenty-sdk` as a local dependency and wire a single script in your package.json:
Хотя мы рекомендуем использовать `create-twenty-app` для наилучшего старта, вы также можете настроить проект вручную. Не устанавливайте CLI глобально. Вместо этого добавьте `twenty-sdk` как локальную зависимость и настройте один скрипт в вашем package.json:
```bash filename="Terminal"
yarn add -D twenty-sdk
```
Then add a `twenty` script:
Затем добавьте скрипт `twenty`:
```json filename="package.json"
{
@@ -639,13 +639,13 @@ Then add a `twenty` script:
}
```
Now you can run all commands via `yarn twenty <command>`, e.g. `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help`, etc.
Теперь вы можете запускать все команды через `yarn twenty <command>`, например, `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help` и т. д.
## Устранение неполадок
* Authentication errors: run `yarn twenty auth:login` and ensure your API key has the required permissions.
* Ошибки аутентификации: выполните `yarn twenty auth:login` и убедитесь, что у вашего ключа API есть необходимые права.
* Не удаётся подключиться к серверу: проверьте URL API и доступность сервера Twenty.
* Types or client missing/outdated: run `yarn twenty app:generate`.
* Dev mode not syncing: ensure `yarn twenty app:dev` is running and that changes are not ignored by your environment.
* Типы или клиент отсутствуют/устарели: выполните `yarn twenty app:generate`.
* Режим разработки не синхронизируется: убедитесь, что запущен `yarn twenty app:dev`, и что ваша среда не игнорирует изменения.
Канал помощи в Discord: https://discord.com/channels/1130383047699738754/1130386664812982322
@@ -102,7 +102,7 @@ my-twenty-app/
Genel hatlarıyla:
* **package.json**: Declares the app name, version, engines (Node 24+, Yarn 4), and adds `twenty-sdk` plus a `twenty` script that delegates to the local `twenty` CLI. Run `yarn twenty help` to list all available commands.
* **package.json**: Uygulama adını, sürümünü, motorları (Node 24+, Yarn 4) bildirir ve `twenty-sdk` ile yerel `twenty` CLI'sine yetki devreden bir `twenty` betiği ekler. Tüm mevcut komutları listelemek için `yarn twenty help` komutunu çalıştırın.
* **.gitignore**: `node_modules`, `.yarn`, `generated/` (türlendirilmiş istemci), `dist/`, `build/`, kapsam klasörleri, günlük dosyaları ve `.env*` dosyaları gibi yaygın artifaktları yok sayar.
* **yarn.lock**, **.yarnrc.yml**, **.yarn/**: Proje tarafından kullanılan Yarn 4 araç zincirini kilitler ve yapılandırır.
* **.nvmrc**: Projenin beklediği Node.js sürümünü sabitler.
@@ -142,12 +142,12 @@ export default defineObject({
İlerideki komutlar daha fazla dosya ve klasör ekleyecektir:
* `yarn twenty app:generate` will create a `generated/` folder (typed Twenty client + workspace types).
* `yarn twenty entity:add` will add entity definition files under `src/` for your custom objects, functions, front components, or roles.
* `yarn twenty app:generate`, `generated/` klasörünü oluşturur (türlendirilmiş Twenty istemcisi + çalışma alanı türleri).
* `yarn twenty entity:add`, özel nesneleriniz, fonksiyonlarınız, ön bileşenleriniz veya rolleriniz için `src/` altında varlık tanım dosyaları ekler.
## Kimlik Doğrulama
The first time you run `yarn twenty auth:login`, you'll be prompted for:
`yarn twenty auth:login` komutunu ilk kez çalıştırdığınızda, sizden şunlar istenir:
* API URLsi (varsayılan: http://localhost:3000 veya mevcut çalışma alanı profiliniz)
* API anahtarı
@@ -157,26 +157,26 @@ Kimlik bilgileriniz kullanıcı başına `~/.twenty/config.json` içinde saklan
### Managing workspaces
```bash filename="Terminal"
# Login interactively (recommended)
# Etkileşimli giriş yapın (önerilir)
yarn twenty auth:login
# Login to a specific workspace profile
# Belirli bir çalışma alanı profiline giriş yapın
yarn twenty auth:login --workspace my-custom-workspace
# List all configured workspaces
# Yapılandırılmış tüm çalışma alanlarını listeleyin
yarn twenty auth:list
# Switch the default workspace (interactive)
# Varsayılan çalışma alanını değiştirin (etkileşimli)
yarn twenty auth:switch
# Switch to a specific workspace
# Belirli bir çalışma alanına geçin
yarn twenty auth:switch production
# Check current authentication status
# Mevcut kimlik doğrulama durumunu kontrol edin
yarn twenty auth:status
```
Once you've switched workspaces with `yarn twenty auth:switch`, all subsequent commands will use that workspace by default. You can still override it temporarily with `--workspace <name>`.
`yarn twenty auth:switch` ile çalışma alanlarını değiştirdikten sonra, sonraki tüm komutlar varsayılan olarak o çalışma alanını kullanacaktır. You can still override it temporarily with `--workspace <name>`.
## SDK kaynaklarını kullanın (türler ve yapılandırma)
@@ -276,7 +276,7 @@ export default defineObject({
* `universalIdentifier` dağıtımlar arasında benzersiz ve kararlı olmalıdır.
* Her alan bir `name`, `type`, `label` ve kendi kararlı `universalIdentifier` değerini gerektirir.
* `fields` dizisi isteğe bağlıdır — özel alanlar olmadan da nesneler tanımlayabilirsiniz.
* You can scaffold new objects using `yarn twenty entity:add`, which guides you through naming, fields, and relationships.
* `yarn twenty entity:add` kullanarak, adlandırma, alanlar ve ilişkiler konusunda sizi yönlendirerek yeni nesneler oluşturabilirsiniz.
<Note>
**Temel alanlar otomatik olarak oluşturulur.** Özel bir nesne tanımladığınızda Twenty, `name`, `createdAt`, `updatedAt`, `createdBy`, `position` ve `deletedAt` gibi standart alanları otomatik olarak ekler. Bunları `fields` dizinizde tanımlamanız gerekmez — yalnızca özel alanlarınızı ekleyin.
@@ -551,7 +551,7 @@ const handler = async (event: RoutePayload) => {
Yeni fonksiyonları iki şekilde oluşturabilirsiniz:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new logic function. Bu, bir işleyici ve yapılandırma içeren bir başlangıç dosyası oluşturur.
* **Şablondan**: `yarn twenty entity:add` çalıştırın ve yeni bir mantık fonksiyonu ekleme seçeneğini seçin. Bu, bir işleyici ve yapılandırma içeren bir başlangıç dosyası oluşturur.
* **Manuel**: Yeni bir `*.logic-function.ts` dosyası oluşturun ve aynı deseni izleyerek `defineLogicFunction()` kullanın.
### Ön uç bileşenleri
@@ -584,16 +584,16 @@ export default defineFrontComponent({
* Ön uç bileşenleri, Twenty içinde yalıtılmış bağlamlarda görüntülenen React bileşenleridir.
* Otomatik algılama için `*.front-component.tsx` dosya soneğini kullanın.
* `component` alanı, React bileşeninize referans verir.
* Components are built and synced automatically during `yarn twenty app:dev`.
* Bileşenler, `yarn twenty app:dev` sırasında otomatik olarak oluşturulur ve senkronize edilir.
Yeni ön uç bileşenlerini iki şekilde oluşturabilirsiniz:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new front component.
* **Şablondan**: `yarn twenty entity:add` çalıştırın ve yeni bir ön uç bileşeni ekleme seçeneğini seçin.
* **Manuel**: Yeni bir `*.front-component.tsx` dosyası oluşturun ve `defineFrontComponent()` kullanın.
### Oluşturulmuş türlendirilmiş istemci
Run `yarn twenty app:generate` to create a local typed client in `generated/` based on your workspace schema. Fonksiyonlarınızda kullanın:
Çalışma alanı şemanıza göre `generated/` içinde yerel bir türlendirilmiş istemci oluşturmak için `yarn twenty app:generate` çalıştırın. Fonksiyonlarınızda kullanın:
```typescript
import Twenty from '~/generated';
@@ -602,7 +602,7 @@ const client = new Twenty();
const { me } = await client.query({ me: { id: true, displayName: true } });
```
The client is re-generated by `yarn twenty app:generate`. Nesnelerinizi değiştirdikten sonra veya yeni bir çalışma alanına katılırken yeniden çalıştırın.
İstemci `yarn twenty app:generate` tarafından yeniden oluşturulur. Nesnelerinizi değiştirdikten sonra veya yeni bir çalışma alanına katılırken yeniden çalıştırın.
#### Mantık fonksiyonlarında çalışma zamanı kimlik bilgileri
@@ -623,13 +623,13 @@ Nesneleri, mantık fonksiyonlarını, ön uç bileşenlerini ve birden çok teti
## Manuel kurulum (scaffolder olmadan)
En iyi başlangıç deneyimi için `create-twenty-app` kullanmanızı önersek de, bir projeyi manuel olarak da kurabilirsiniz. CLI'yi global olarak kurmayın. Instead, add `twenty-sdk` as a local dependency and wire a single script in your package.json:
En iyi başlangıç deneyimi için `create-twenty-app` kullanmanızı önersek de, bir projeyi manuel olarak da kurabilirsiniz. CLI'yi global olarak kurmayın. Bunun yerine `twenty-sdk`'yi yerel bir bağımlılık olarak ekleyin ve package.json içinde tek bir betik tanımlayın:
```bash filename="Terminal"
yarn add -D twenty-sdk
```
Then add a `twenty` script:
Ardından bir `twenty` betiği ekleyin:
```json filename="package.json"
{
@@ -639,13 +639,13 @@ Then add a `twenty` script:
}
```
Now you can run all commands via `yarn twenty <command>`, e.g. `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help`, etc.
Artık tüm komutları `yarn twenty <command>` üzerinden çalıştırabilirsiniz; örn. `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help` vb.
## Sorun Giderme
* Authentication errors: run `yarn twenty auth:login` and ensure your API key has the required permissions.
* Kimlik doğrulama hataları: `yarn twenty auth:login` çalıştırın ve API anahtarınızın gerekli izinlere sahip olduğundan emin olun.
* Sunucuya bağlanılamıyor: API URLsini ve Twenty sunucusunun erişilebilir olduğunu doğrulayın.
* Types or client missing/outdated: run `yarn twenty app:generate`.
* Dev mode not syncing: ensure `yarn twenty app:dev` is running and that changes are not ignored by your environment.
* Türler veya istemci eksik/eski: `yarn twenty app:generate` çalıştırın.
* Geliştirme modu eşitlenmiyor: `yarn twenty app:dev`'in çalıştığından ve değişikliklerin ortamınız tarafından yok sayılmadığından emin olun.
Discord Yardım Kanalı: https://discord.com/channels/1130383047699738754/1130386664812982322
@@ -27,40 +27,40 @@ description: 以代码的形式构建并管理 Twenty 自定义项。
使用官方脚手架创建一个新应用,然后进行身份验证并开始开发:
```bash filename="Terminal"
# Scaffold a new app
# 搭建一个新应用
npx create-twenty-app@latest my-twenty-app
cd my-twenty-app
# If you don't use yarn@4
# 如果你不使用 yarn@4
corepack enable
yarn install
# Authenticate using your API key (you'll be prompted)
# 使用你的 API 密钥进行身份验证(系统会提示你)
yarn twenty auth:login
# Start dev mode: automatically syncs local changes to your workspace
# 启动开发模式:会将本地更改自动同步到你的工作区
yarn twenty app:dev
```
从这里您可以:
```bash filename="Terminal"
# Add a new entity to your application (guided)
# 向你的应用添加一个新实体(引导式)
yarn twenty entity:add
# Generate a typed Twenty client and workspace entity types
# 生成类型化的 Twenty 客户端和工作区实体类型
yarn twenty app:generate
# Watch your application's function logs
# 监听你的应用函数日志
yarn twenty function:logs
# Execute a function by name
# 按名称执行一个函数
yarn twenty function:execute -n my-function -p '{"name": "test"}'
# Uninstall the application from the current workspace
# 从当前工作区卸载该应用
yarn twenty app:uninstall
# Display commands' help
# 显示命令帮助
yarn twenty help
```
@@ -102,7 +102,7 @@ my-twenty-app/
总体来说:
* **package.json**: Declares the app name, version, engines (Node 24+, Yarn 4), and adds `twenty-sdk` plus a `twenty` script that delegates to the local `twenty` CLI. Run `yarn twenty help` to list all available commands.
* **package.json**:声明应用名称、版本、引擎(Node 24+Yarn 4),并添加 `twenty-sdk` 以及一个 `twenty` 脚本,该脚本会委托给本地的 `twenty` CLI。 运行 `yarn twenty help` 以列出所有可用命令。
* **.gitignore**:忽略常见产物,如 `node_modules`、`.yarn`、`generated/`(类型化客户端)、`dist/`、`build/`、覆盖率文件夹、日志文件以及 `.env*` 文件。
* **yarn.lock**、**.yarnrc.yml**、**.yarn/**:锁定并配置项目使用的 Yarn 4 工具链。
* **.nvmrc**:固定项目期望的 Node.js 版本。
@@ -142,12 +142,12 @@ export default defineObject({
后续命令将添加更多文件和文件夹:
* `yarn twenty app:generate` will create a `generated/` folder (typed Twenty client + workspace types).
* `yarn twenty entity:add` will add entity definition files under `src/` for your custom objects, functions, front components, or roles.
* `yarn twenty app:generate` 将创建一个 `generated/` 文件夹(类型化 Twenty 客户端 + 工作空间类型)。
* `yarn twenty entity:add` 会在 `src/` 下为你的自定义对象、函数、前端组件或角色添加实体定义文件。
## 身份验证
The first time you run `yarn twenty auth:login`, you'll be prompted for:
首次运行 `yarn twenty auth:login` 时,你将被提示输入:
* API URL(默认为 http://localhost:3000 或你当前的工作空间配置)
* API 密钥
@@ -176,7 +176,7 @@ yarn twenty auth:switch production
yarn twenty auth:status
```
Once you've switched workspaces with `yarn twenty auth:switch`, all subsequent commands will use that workspace by default. 你仍可通过 `--workspace <name>` 临时覆盖。
使用 `yarn twenty auth:switch` 切换工作空间后,后续所有命令将默认使用该工作空间。 你仍可通过 `--workspace <name>` 临时覆盖。
## 使用 SDK 资源(类型与配置)
@@ -276,7 +276,7 @@ export default defineObject({
* `universalIdentifier` 必须在各次部署间保持唯一且稳定。
* 每个字段都需要 `name`、`type`、`label` 以及其自身稳定的 `universalIdentifier`。
* `fields` 数组是可选的——你可以定义没有自定义字段的对象。
* You can scaffold new objects using `yarn twenty entity:add`, which guides you through naming, fields, and relationships.
* 你可以使用 `yarn twenty entity:add` 脚手架创建新对象,它会引导你完成命名、字段和关系。
<Note>
**基础字段会自动创建。** 当你定义自定义对象时,Twenty 会自动添加 `name`、`createdAt`、`updatedAt`、`createdBy`、`position`、`deletedAt` 等标准字段。 你无需在 `fields` 数组中定义这些字段——只需添加你的自定义字段。
@@ -551,7 +551,7 @@ const handler = async (event: RoutePayload) => {
你可以通过两种方式创建新函数:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new logic function. 这将生成一个包含处理程序和配置的入门文件。
* **脚手架生成**:运行 `yarn twenty entity:add` 并选择添加新逻辑函数的选项。 这将生成一个包含处理程序和配置的入门文件。
* **手动**:创建一个新的 `*.logic-function.ts` 文件,并使用 `defineLogicFunction()`,遵循相同的模式。
### 前端组件
@@ -584,16 +584,16 @@ export default defineFrontComponent({
* 前端组件是在 Twenty 中的隔离上下文中渲染的 React 组件。
* 使用 `*.front-component.tsx` 文件后缀以便自动检测。
* `component` 字段引用你的 React 组件。
* Components are built and synced automatically during `yarn twenty app:dev`.
* 组件会在 `yarn twenty app:dev` 期间自动构建并同步。
你可以通过两种方式创建新的前端组件:
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new front component.
* **脚手架生成**:运行 `yarn twenty entity:add` 并选择添加新前端组件的选项。
* **手动**:创建一个新的 `*.front-component.tsx` 文件,并使用 `defineFrontComponent()`。
### 生成的类型化客户端
Run `yarn twenty app:generate` to create a local typed client in `generated/` based on your workspace schema. 在你的函数中使用它:
运行 `yarn twenty app:generate`,根据你的工作空间模式在 `generated/` 中创建本地类型化客户端。 在你的函数中使用它:
```typescript
import Twenty from '~/generated';
@@ -602,7 +602,7 @@ const client = new Twenty();
const { me } = await client.query({ me: { id: true, displayName: true } });
```
The client is re-generated by `yarn twenty app:generate`. 在更改对象之后或接入新工作空间时,请重新运行。
客户端会通过 `yarn twenty app:generate` 重新生成。 在更改对象之后或接入新工作空间时,请重新运行。
#### 逻辑函数中的运行时凭据
@@ -623,13 +623,13 @@ The client is re-generated by `yarn twenty app:generate`. 在更改对象之后
## 手动设置(不使用脚手架)
虽然我们建议使用 `create-twenty-app` 以获得最佳的上手体验,但你也可以手动设置项目。 不要全局安装 CLI。 Instead, add `twenty-sdk` as a local dependency and wire a single script in your package.json:
虽然我们建议使用 `create-twenty-app` 以获得最佳的上手体验,但你也可以手动设置项目。 不要全局安装 CLI。 相反,请将 `twenty-sdk` 添加为本地依赖,并在你的 package.json 中配置一个脚本:
```bash filename="Terminal"
yarn add -D twenty-sdk
```
Then add a `twenty` script:
然后添加一个 `twenty` 脚本:
```json filename="package.json"
{
@@ -639,13 +639,13 @@ Then add a `twenty` script:
}
```
Now you can run all commands via `yarn twenty <command>`, e.g. `yarn twenty app:dev`, `yarn twenty app:generate`, `yarn twenty help`, etc.
现在你可以通过 `yarn twenty <command>` 运行所有命令,例如 `yarn twenty app:dev``yarn twenty app:generate``yarn twenty help` 等。
## 故障排除
* Authentication errors: run `yarn twenty auth:login` and ensure your API key has the required permissions.
* 身份验证错误:运行 `yarn twenty auth:login`,并确保你的 API 密钥具有所需权限。
* 无法连接到服务器:请验证 API URL,并确保 Twenty 服务器可达。
* Types or client missing/outdated: run `yarn twenty app:generate`.
* Dev mode not syncing: ensure `yarn twenty app:dev` is running and that changes are not ignored by your environment.
* 类型或客户端缺失/过期:运行 `yarn twenty app:generate`
* 开发模式未同步:确保 `yarn twenty app:dev` 正在运行,并且你的环境不会忽略变更。
Discord 帮助频道:https://discord.com/channels/1130383047699738754/1130386664812982322