diff --git a/packages/twenty-docs/l/ar/developers/extend/apps/getting-started.mdx b/packages/twenty-docs/l/ar/developers/extend/apps/getting-started.mdx
index 429c9cb32bf..d20e576458b 100644
--- a/packages/twenty-docs/l/ar/developers/extend/apps/getting-started.mdx
+++ b/packages/twenty-docs/l/ar/developers/extend/apps/getting-started.mdx
@@ -123,7 +123,7 @@ my-twenty-app/
بشكل عام:
* **package.json**: يصرّح باسم التطبيق والإصدار والمحرّكات (Node 24+، Yarn 4)، ويضيف `twenty-sdk` بالإضافة إلى نص برمجي `twenty` يفوِّض إلى `twenty` CLI المحلي. شغِّل `yarn twenty help` لعرض جميع الأوامر المتاحة.
-* **.gitignore**: Ignores common artifacts such as `node_modules`, `.yarn`, `.twenty/`, `dist/`, `build/`, coverage folders, log files, and `.env*` files.
+* **.gitignore**: يتجاهل العناصر الشائعة مثل `node_modules` و`.yarn` و`.twenty/` و`dist/` و`build/` ومجلدات التغطية وملفات السجلات وملفات `.env*`.
* **yarn.lock**، **.yarnrc.yml**، **.yarn/**: تقوم بقفل وتكوين حزمة أدوات Yarn 4 المستخدمة في المشروع.
* **.nvmrc**: يثبّت إصدار Node.js المتوقع للمشروع.
* **.oxlintrc.json** و **tsconfig.json**: يقدّمان إعدادات الفحص والتهيئة لـ TypeScript لمصادر TypeScript في تطبيقك.
@@ -167,8 +167,8 @@ export default defineObject({
ستضيف الأوامر اللاحقة مزيدًا من الملفات والمجلدات:
-* `yarn twenty dev` will auto-generate the typed `CoreApiClient` (for workspace data via `/graphql`) into `node_modules/twenty-client-sdk/`. The `MetadataApiClient` (for workspace configuration and file uploads via `/metadata`) ships pre-built and is available immediately. Import them from `twenty-client-sdk/core` and `twenty-client-sdk/metadata` respectively.
-* `yarn twenty add` will add entity definition files under `src/` for your custom objects, functions, front components, roles, skills, and more.
+* `yarn twenty dev` سيولّد تلقائياً `CoreApiClient` مضبوط الأنواع (لبيانات مساحة العمل عبر `/graphql`) داخل `node_modules/twenty-client-sdk/`. `MetadataApiClient` (لتهيئة مساحة العمل ورفع الملفات عبر `/metadata`) يأتي مُبنًى مسبقاً ومتاحاً على الفور. استوردْهما من `twenty-client-sdk/core` و`twenty-client-sdk/metadata` على الترتيب.
+* `yarn twenty add` سيضيف ملفات تعريف الكيانات ضمن `src/` لكائناتك المخصّصة، والوظائف، ومكوّنات الواجهة الأمامية، والأدوار، والمهارات، وغير ذلك.
## المصادقة
diff --git a/packages/twenty-docs/l/ar/developers/extend/apps/publishing.mdx b/packages/twenty-docs/l/ar/developers/extend/apps/publishing.mdx
index f09684652e9..aac2aa8cab7 100644
--- a/packages/twenty-docs/l/ar/developers/extend/apps/publishing.mdx
+++ b/packages/twenty-docs/l/ar/developers/extend/apps/publishing.mdx
@@ -24,9 +24,9 @@ description: وزّع تطبيق Twenty الخاص بك على سوق Twenty أ
yarn twenty build
```
-يتم حفظ المخرجات في `.twenty/output/`. This directory contains everything needed for distribution: compiled code, assets, the manifest, and a copy of your `package.json`.
+يتم حفظ المخرجات في `.twenty/output/`. يحتوي هذا الدليل على كل ما يلزم للتوزيع: الكود المُجمَّع، والأصول، وملف manifest، ونسخة من `package.json` الخاص بك.
-To also create a `.tgz` tarball (used by the deploy command internally, or for manual distribution):
+لإنشاء حزمة tarball بصيغة `.tgz` أيضًا (تُستخدم داخليًا بواسطة أمر النشر، أو للتوزيع اليدوي):
```bash filename="Terminal"
yarn twenty build --tarball
@@ -39,11 +39,11 @@ yarn twenty build --tarball
### المتطلبات
* حساب على [npm](https://www.npmjs.com)
-* The `twenty-app` keyword **must** be listed in your `package.json` `keywords` array
+* الكلمة المفتاحية `twenty-app` **يجب** أن تُدرج في مصفوفة `keywords` في `package.json` الخاص بك
-### Adding the required keyword
+### إضافة الكلمة المفتاحية المطلوبة
-The Twenty marketplace discovers apps by searching the npm registry for packages with the `twenty-app` keyword. Add it to your `package.json`:
+يعثر سوق Twenty على التطبيقات من خلال البحث في سجل npm عن الحزم التي تحتوي على الكلمة المفتاحية `twenty-app`. أضِفها إلى `package.json` الخاص بك:
```json filename="package.json"
{
@@ -55,52 +55,52 @@ The Twenty marketplace discovers apps by searching the npm registry for packages
```
-The marketplace searches for `keywords:twenty-app` on the npm registry. Without this keyword, your package won't appear in the marketplace even if it has the `twenty-app-` name prefix.
+يبحث السوق عن `keywords:twenty-app` في سجل npm. من دون هذه الكلمة المفتاحية، لن تظهر حزمتك في السوق حتى وإن كانت تحمل بادئة الاسم `twenty-app-`.
### الخطوات
-1. **Build your app:**
+1. **بناء تطبيقك:**
```bash filename="Terminal"
yarn twenty build
```
-2. **Publish to npm:**
+2. **النشر على npm:**
```bash filename="Terminal"
yarn twenty publish
```
-This runs `npm publish` from the `.twenty/output/` directory.
+هذا يُشغِّل `npm publish` من دليل `.twenty/output/`.
-To publish under a specific dist-tag (e.g., `beta` or `next`):
+للنشر تحت dist-tag معيّن (مثلًا: `beta` أو `next`):
```bash filename="Terminal"
yarn twenty publish --tag beta
```
-### How marketplace discovery works
+### كيف تعمل آلية الاكتشاف في السوق
-The Twenty server syncs its marketplace catalog from the npm registry **every hour**:
+يقوم خادم Twenty بمزامنة كتالوج السوق من سجل npm **كل ساعة**:
-1. It searches for all npm packages with the `keywords:twenty-app` keyword
-2. For each package, it fetches the `manifest.json` from the npm CDN
-3. The app's metadata (name, description, author, logo, screenshots, category) is extracted from the manifest and displayed in the marketplace
+1. يبحث عن جميع حزم npm التي تحتوي على الكلمة المفتاحية `keywords:twenty-app`
+2. ولكل حزمة، يجلب ملف `manifest.json` من شبكة CDN الخاصة بـ npm
+3. يتم استخراج بيانات التعريف الخاصة بالتطبيق (الاسم، الوصف، المؤلف، الشعار، لقطات الشاشة، الفئة) من ملف manifest وعرضها في السوق
-After publishing, your app can take up to one hour to appear in the marketplace. To trigger the sync immediately instead of waiting for the next hourly run:
+بعد النشر، قد يستغرق ظهور تطبيقك في السوق ما يصل إلى ساعة واحدة. لتشغيل المزامنة فورًا بدلًا من انتظار التشغيل التالي كل ساعة:
```bash filename="Terminal"
yarn twenty catalog-sync
```
-To target a specific remote:
+لاستهداف remote معيّن:
```bash filename="Terminal"
yarn twenty catalog-sync -r production
```
-The metadata shown in the marketplace comes from your `defineApplication()` call in your app source code — fields like `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl`, and `termsUrl`.
+تأتي بيانات التعريف المعروضة في السوق من استدعائك لـ `defineApplication()` في الشيفرة المصدرية لتطبيقك — حقول مثل `displayName` و`description` و`author` و`category` و`logoUrl` و`screenshots` و`aboutDescription` و`websiteUrl` و`termsUrl`.
### النشر عبر CI
@@ -133,39 +133,39 @@ jobs:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
```
-For other CI systems (GitLab CI, CircleCI, etc.), the same three commands apply: `yarn install`, `yarn twenty build`, then `npm publish` from `.twenty/output`.
+بالنسبة لأنظمة CI الأخرى (GitLab CI، وCircleCI، إلخ)، تنطبق الأوامر الثلاثة نفسها: `yarn install`، ثم `yarn twenty build`، ثم `npm publish` من `.twenty/output`.
**npm provenance** اختياري ولكنه موصى به. يضيف النشر باستخدام `--provenance` شارة ثقة إلى إدراجك على npm، مما يتيح للمستخدمين التحقق من أن الحزمة تم بناؤها من التزام محدد ضمن خط أنابيب CI عام. راجع [وثائق npm provenance](https://docs.npmjs.com/generating-provenance-statements) للحصول على تعليمات الإعداد.
-## Deploying to a server (tarball)
+## النشر إلى خادم (tarball)
-For apps you don't want publicly available — proprietary tools, enterprise-only integrations, or experimental builds — you can deploy a tarball directly to a Twenty server.
+بالنسبة للتطبيقات التي لا تريد إتاحتها للعامة — مثل الأدوات المملوكة، أو عمليات التكامل الخاصة بالمؤسسات فقط، أو الإصدارات التجريبية — يمكنك نشر tarball مباشرةً إلى خادم Twenty.
### المتطلبات الأساسية
-Before deploying, you need a configured remote pointing to the target server. Remotes store the server URL and authentication credentials locally in `~/.twenty/config.json`.
+قبل النشر، تحتاج إلى remote مُعدّ يشير إلى خادم الهدف. تُخزّن remotes عنوان URL للخادم وبيانات اعتماد المصادقة محليًا في `~/.twenty/config.json`.
-Add a remote:
+أضِف remote:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --as production
```
-For a local development server:
+لخادم تطوير محلي:
```bash filename="Terminal"
yarn twenty remote add --local --as local
```
-You can also authenticate with an API key for non-interactive environments:
+يمكنك أيضًا إجراء المصادقة باستخدام مفتاح API للبيئات غير التفاعلية:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --token --as production
```
-Manage your remotes:
+إدارة remotes الخاصة بك:
```bash filename="Terminal"
yarn twenty remote list # List all configured remotes
@@ -174,76 +174,76 @@ yarn twenty remote status # Show active remote and auth status
yarn twenty remote remove old # Remove a remote
```
-### Deploying
+### النشر
-Build and upload your app to the server in one step:
+بناء تطبيقك ورفعه إلى الخادم في خطوة واحدة:
```bash filename="Terminal"
yarn twenty deploy
```
-This builds the app with `--tarball`, then uploads the tarball to the default remote via a GraphQL multipart upload.
+يُنشئ هذا التطبيق باستخدام `--tarball`، ثم يرفع ملف tarball إلى الـ remote الافتراضي عبر رفع متعدد الأجزاء لـ GraphQL.
-To deploy to a specific remote:
+لنشره إلى remote معيّن:
```bash filename="Terminal"
yarn twenty deploy -r production
```
-### Sharing a deployed app
+### مشاركة تطبيق منشور
-Tarball apps are not listed in the public marketplace, so other workspaces on the same server won't discover them by browsing. To share a deployed app:
+تطبيقات tarball لا تُدرَج في السوق العامة، لذا لن تكتشفها مساحات العمل الأخرى على الخادم نفسه عبر الاستعراض. لمشاركة تطبيق منشور:
-1. Go to **Settings > Applications > Registrations** and open your app
-2. In the **Distribution** tab, click **Copy share link**
-3. Share this link with users on other workspaces — it takes them directly to the app's install page
+1. اذهب إلى **الإعدادات > التطبيقات > التسجيلات** وافتح تطبيقك
+2. في علامة التبويب **التوزيع**، انقر **نسخ رابط المشاركة**
+3. شارك هذا الرابط مع المستخدمين في مساحات عمل أخرى — سيأخذهم مباشرةً إلى صفحة تثبيت التطبيق
-The share link uses the server's base URL (without any workspace subdomain) so it works for any workspace on the server.
+يستخدم رابط المشاركة عنوان URL الأساسي للخادم (من دون أي نطاق فرعي لمساحة عمل)، لذا يعمل مع أي مساحة عمل على الخادم.
### إدارة الإصدارات
لطرح تحديث:
1. ارفع قيمة الحقل `version` في ملف `package.json`
-2. Run `yarn twenty deploy` (or `yarn twenty deploy -r production`)
-3. Workspaces that have the app installed will see the upgrade available in their settings
+2. شغّل `yarn twenty deploy` (أو `yarn twenty deploy -r production`)
+3. سترى مساحات العمل التي ثبّتت التطبيق الترقية متاحة في إعداداتها
-## Installing apps
+## تثبيت التطبيقات
-Once an app is published (npm) or deployed (tarball), workspaces install it through the UI:
+بعد نشر التطبيق (npm) أو نشره إلى الخادم (tarball)، تقوم مساحات العمل بتثبيته عبر واجهة المستخدم:
```bash filename="Terminal"
yarn twenty install
```
-Or from the **Settings > Applications** page in the Twenty UI, where both marketplace and tarball-deployed apps can be browsed and installed.
+أو من صفحة **الإعدادات > التطبيقات** في واجهة Twenty، حيث يمكن استعراض التطبيقات من السوق ومن النشر عبر tarball وتثبيتها.
-## App distribution categories
+## فئات توزيع التطبيقات
تُنظِّم Twenty التطبيقات في ثلاث فئات استنادًا إلى طريقة توزيعها:
-| الفئة | كيف يعمل | مرئي في سوق Twenty؟ |
-| ---------------------- | -------------------------------------------------------------------------------------------------------- | ------------------- |
-| **التطوير** | تطبيقات وضع التطوير المحلي التي تعمل عبر `yarn twenty dev`. تُستخدم للبناء والاختبار. | لا |
-| **Published (npm)** | Apps published to npm with the `twenty-app` keyword. مدرجة في سوق Twenty لتتمكن أي مساحة عمل من تثبيتها. | نعم |
-| **Internal (tarball)** | تطبيقات منشورة عبر tarball إلى خادم محدد. Available only to workspaces on that server via a share link. | لا |
+| الفئة | كيف يعمل | مرئي في سوق Twenty؟ |
+| ------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------- |
+| **التطوير** | تطبيقات وضع التطوير المحلي التي تعمل عبر `yarn twenty dev`. تُستخدم للبناء والاختبار. | لا |
+| **منشور (npm)** | تطبيقات منشورة على npm تحتوي على الكلمة المفتاحية `twenty-app`. مدرجة في سوق Twenty لتتمكن أي مساحة عمل من تثبيتها. | نعم |
+| **داخلي (tarball)** | تطبيقات منشورة عبر tarball إلى خادم محدد. متاحة فقط لمساحات العمل على ذلك الخادم عبر رابط مشاركة. | لا |
ابدأ في وضع **التطوير** أثناء بناء تطبيقك. عندما يصبح جاهزًا، اختر **منشور** (npm) للتوزيع الواسع أو **داخلي** (tarball) للنشر الخاص.
-## CLI reference
+## مرجع CLI
-| أمر | الوصف | Key flags |
-| --------------------------- | ---------------------------------------------- | --------------------------------------------------- |
-| `yarn twenty build` | Compile app and generate manifest | `--tarball` — also create a `.tgz` package |
-| `yarn twenty publish` | Build and publish to npm | `--tag ` — npm dist-tag (e.g., `beta`, `next`) |
-| `yarn twenty deploy` | Build and upload tarball to a server | `-r, --remote ` — target remote |
-| `yarn twenty catalog-sync` | Trigger marketplace catalog sync on the server | `-r, --remote ` — target remote |
-| `yarn twenty install` | Install a deployed app on a workspace | `-r, --remote ` — target remote |
-| `yarn twenty dev` | Watch and sync local changes | Uses default remote |
-| `yarn twenty remote add` | Add a server connection | `--url`, `--token`, `--as`, `--local`, `--port` |
-| `yarn twenty remote list` | List configured remotes | — |
-| `yarn twenty remote switch` | Set default remote | — |
-| `yarn twenty remote status` | Show connection status | — |
-| `yarn twenty remote remove` | Remove a remote | — |
+| أمر | الوصف | الأعلام الرئيسية |
+| --------------------------- | ------------------------------------ | ----------------------------------------------------- |
+| `yarn twenty build` | تجميع التطبيق وإنشاء manifest | `--tarball` — يقوم أيضًا بإنشاء حزمة `.tgz` |
+| `yarn twenty publish` | بناء التطبيق ونشره إلى npm | `--tag ` — وسم توزيع npm (مثلًا: `beta`، `next`) |
+| `yarn twenty deploy` | بناء ورفع tarball إلى خادم | `-r, --remote ` — الـ remote المستهدف |
+| `yarn twenty catalog-sync` | تشغيل مزامنة كتالوج السوق على الخادم | `-r, --remote ` — الـ remote المستهدف |
+| `yarn twenty install` | تثبيت تطبيق منشور على مساحة عمل | `-r, --remote ` — الـ remote المستهدف |
+| `yarn twenty dev` | مراقبة ومزامنة التغييرات المحلية | يستخدم الـ remote الافتراضي |
+| `yarn twenty remote add` | إضافة اتصال بخادم | `--url`, `--token`, `--as`, `--local`, `--port` |
+| `yarn twenty remote list` | عرض الـ remotes المُكوَّنة | — |
+| `yarn twenty remote switch` | تعيين الـ remote الافتراضي | — |
+| `yarn twenty remote status` | عرض حالة الاتصال | — |
+| `yarn twenty remote remove` | إزالة remote | — |
diff --git a/packages/twenty-docs/l/cs/developers/extend/apps/getting-started.mdx b/packages/twenty-docs/l/cs/developers/extend/apps/getting-started.mdx
index ac5a77f18fb..5931e2b147b 100644
--- a/packages/twenty-docs/l/cs/developers/extend/apps/getting-started.mdx
+++ b/packages/twenty-docs/l/cs/developers/extend/apps/getting-started.mdx
@@ -123,7 +123,7 @@ S volbou `--minimal` se vytvoří pouze základní soubory (`application-config.
V kostce:
* **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**: Ignores common artifacts such as `node_modules`, `.yarn`, `.twenty/`, `dist/`, `build/`, coverage folders, log files, and `.env*` files.
+* **.gitignore**: Ignoruje běžné artefakty jako `node_modules`, `.yarn`, `.twenty/`, `dist/`, `build/`, složky s coverage, soubory s 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.
* **.oxlintrc.json** a **tsconfig.json**: Poskytují lintování a konfiguraci TypeScriptu pro zdrojové soubory vaší aplikace v TypeScriptu.
@@ -167,8 +167,8 @@ export default defineObject({
Pozdější příkazy přidají další soubory a složky:
-* `yarn twenty dev` will auto-generate the typed `CoreApiClient` (for workspace data via `/graphql`) into `node_modules/twenty-client-sdk/`. The `MetadataApiClient` (for workspace configuration and file uploads via `/metadata`) ships pre-built and is available immediately. Import them from `twenty-client-sdk/core` and `twenty-client-sdk/metadata` respectively.
-* `yarn twenty add` will add entity definition files under `src/` for your custom objects, functions, front components, roles, skills, and more.
+* `yarn twenty dev` automaticky vygeneruje typovaný `CoreApiClient` (pro data pracovního prostoru přes `/graphql`) do `node_modules/twenty-client-sdk/`. `MetadataApiClient` (pro konfiguraci pracovního prostoru a nahrávání souborů přes `/metadata`) je dodáván předpřipravený a je okamžitě k dispozici. Importujte je z `twenty-client-sdk/core` a `twenty-client-sdk/metadata` v uvedeném pořadí.
+* `yarn twenty add` přidá soubory s definicemi entit do `src/` pro vaše vlastní objekty, funkce, frontové komponenty, role, dovednosti a další.
## Ověření
diff --git a/packages/twenty-docs/l/cs/developers/extend/apps/publishing.mdx b/packages/twenty-docs/l/cs/developers/extend/apps/publishing.mdx
index 5ae9ce11ef9..95abcb4e728 100644
--- a/packages/twenty-docs/l/cs/developers/extend/apps/publishing.mdx
+++ b/packages/twenty-docs/l/cs/developers/extend/apps/publishing.mdx
@@ -24,9 +24,9 @@ Příkaz `build` zkompiluje vaše zdrojové soubory TypeScriptu, transpiluje log
yarn twenty build
```
-Výstup se zapisuje do `.twenty/output/`. This directory contains everything needed for distribution: compiled code, assets, the manifest, and a copy of your `package.json`.
+Výstup se zapisuje do `.twenty/output/`. Tento adresář obsahuje vše potřebné pro distribuci: zkompilovaný kód, statické soubory, manifest a kopii souboru `package.json`.
-To also create a `.tgz` tarball (used by the deploy command internally, or for manual distribution):
+Chcete-li také vytvořit tarball `.tgz` (používaný interně příkazem deploy nebo pro ruční distribuci):
```bash filename="Terminal"
yarn twenty build --tarball
@@ -39,11 +39,11 @@ Publikování na npm zajistí, že bude vaše aplikace dohledatelná v Marketpla
### Požadavky
* Účet na [npm](https://www.npmjs.com)
-* The `twenty-app` keyword **must** be listed in your `package.json` `keywords` array
+* Klíčové slovo `twenty-app` **musí** být uvedeno v poli `keywords` vašeho `package.json`
-### Adding the required keyword
+### Přidání požadovaného klíčového slova
-The Twenty marketplace discovers apps by searching the npm registry for packages with the `twenty-app` keyword. Add it to your `package.json`:
+Tržiště Twenty objevuje aplikace hledáním balíčků v registru npm s klíčovým slovem `twenty-app`. Přidejte jej do svého `package.json`:
```json filename="package.json"
{
@@ -55,52 +55,52 @@ The Twenty marketplace discovers apps by searching the npm registry for packages
```
-The marketplace searches for `keywords:twenty-app` on the npm registry. Without this keyword, your package won't appear in the marketplace even if it has the `twenty-app-` name prefix.
+Tržiště vyhledává v registru npm výraz `keywords:twenty-app`. Bez tohoto klíčového slova se váš balíček v tržišti neobjeví, i když má jmennou předponu `twenty-app-`.
### Postup
-1. **Build your app:**
+1. **Sestavení vaší aplikace:**
```bash filename="Terminal"
yarn twenty build
```
-2. **Publish to npm:**
+2. **Publikování na npm:**
```bash filename="Terminal"
yarn twenty publish
```
-This runs `npm publish` from the `.twenty/output/` directory.
+Tímto se spustí `npm publish` z adresáře `.twenty/output/`.
-To publish under a specific dist-tag (e.g., `beta` or `next`):
+Chcete-li publikovat pod konkrétním dist-tagem (např. `beta` nebo `next`):
```bash filename="Terminal"
yarn twenty publish --tag beta
```
-### How marketplace discovery works
+### Jak funguje objevování v tržišti
-The Twenty server syncs its marketplace catalog from the npm registry **every hour**:
+Server Twenty synchronizuje svůj katalog tržiště z registru npm **každou hodinu**:
-1. It searches for all npm packages with the `keywords:twenty-app` keyword
-2. For each package, it fetches the `manifest.json` from the npm CDN
-3. The app's metadata (name, description, author, logo, screenshots, category) is extracted from the manifest and displayed in the marketplace
+1. Vyhledá všechny balíčky na npm s klíčovým slovem `keywords:twenty-app`
+2. Pro každý balíček stáhne `manifest.json` z CDN npm
+3. Metadata aplikace (název, popis, autor, logo, snímky obrazovky, kategorie) se získají z manifestu a zobrazí se v tržišti
-After publishing, your app can take up to one hour to appear in the marketplace. To trigger the sync immediately instead of waiting for the next hourly run:
+Po publikování se vaše aplikace může v tržišti objevit až za jednu hodinu. Chcete-li spustit synchronizaci okamžitě místo čekání na další hodinové spuštění:
```bash filename="Terminal"
yarn twenty catalog-sync
```
-To target a specific remote:
+Chcete-li zacílit na konkrétní vzdálený cíl:
```bash filename="Terminal"
yarn twenty catalog-sync -r production
```
-The metadata shown in the marketplace comes from your `defineApplication()` call in your app source code — fields like `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl`, and `termsUrl`.
+Metadata zobrazená v tržišti pocházejí z volání `defineApplication()` ve zdrojovém kódu vaší aplikace — z polí jako `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl` a `termsUrl`.
### Publikování pomocí CI
@@ -133,39 +133,39 @@ jobs:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
```
-For other CI systems (GitLab CI, CircleCI, etc.), the same three commands apply: `yarn install`, `yarn twenty build`, then `npm publish` from `.twenty/output`.
+Pro jiné systémy CI (GitLab CI, CircleCI atd.) platí stejné tři příkazy: `yarn install`, `yarn twenty build` a poté `npm publish` z `.twenty/output`.
**npm provenance** je volitelné, ale doporučené. Publikování s `--provenance` přidá k vašemu záznamu na npm odznak důvěryhodnosti a umožní uživatelům ověřit, že balíček byl sestaven z konkrétního commitu ve veřejné CI pipeline. Pokyny k nastavení najdete v [dokumentaci k npm provenance](https://docs.npmjs.com/generating-provenance-statements).
-## Deploying to a server (tarball)
+## Nasazení na server (tarball)
-For apps you don't want publicly available — proprietary tools, enterprise-only integrations, or experimental builds — you can deploy a tarball directly to a Twenty server.
+U aplikací, které nechcete zpřístupnit veřejně — proprietární nástroje, integrace pouze pro enterprise nebo experimentální buildy — můžete nasadit tarball přímo na server Twenty.
### Předpoklady
-Before deploying, you need a configured remote pointing to the target server. Remotes store the server URL and authentication credentials locally in `~/.twenty/config.json`.
+Před nasazením potřebujete nakonfigurovaný vzdálený cíl směřující na cílový server. Vzdálené cíle ukládají adresu URL serveru a přihlašovací údaje lokálně v `~/.twenty/config.json`.
-Add a remote:
+Přidat vzdálený cíl:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --as production
```
-For a local development server:
+Pro lokální vývojový server:
```bash filename="Terminal"
yarn twenty remote add --local --as local
```
-You can also authenticate with an API key for non-interactive environments:
+Pro neinteraktivní prostředí se můžete ověřit také pomocí klíče API:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --token --as production
```
-Manage your remotes:
+Spravujte své vzdálené servery:
```bash filename="Terminal"
yarn twenty remote list # List all configured remotes
@@ -174,76 +174,76 @@ yarn twenty remote status # Show active remote and auth status
yarn twenty remote remove old # Remove a remote
```
-### Deploying
+### Nasazení
-Build and upload your app to the server in one step:
+Sestavte a nahrajte svou aplikaci na server v jednom kroku:
```bash filename="Terminal"
yarn twenty deploy
```
-This builds the app with `--tarball`, then uploads the tarball to the default remote via a GraphQL multipart upload.
+Tímto se aplikace sestaví s `--tarball` a poté se tarball nahraje na výchozí vzdálený server prostřednictvím vícedílného (multipart) nahrávání GraphQL.
-To deploy to a specific remote:
+Chcete-li nasadit na konkrétní vzdálený server:
```bash filename="Terminal"
yarn twenty deploy -r production
```
-### Sharing a deployed app
+### Sdílení nasazené aplikace
-Tarball apps are not listed in the public marketplace, so other workspaces on the same server won't discover them by browsing. To share a deployed app:
+Aplikace ve formě tarball nejsou uvedeny ve veřejném tržišti, takže je ostatní pracovní prostory na tomtéž serveru procházením neobjeví. Chcete-li sdílet nasazenou aplikaci:
-1. Go to **Settings > Applications > Registrations** and open your app
-2. In the **Distribution** tab, click **Copy share link**
-3. Share this link with users on other workspaces — it takes them directly to the app's install page
+1. Přejděte do **Nastavení > Aplikace > Registrace** a otevřete svou aplikaci
+2. Na kartě **Distribuce** klikněte na **Zkopírovat odkaz ke sdílení**
+3. Sdílejte tento odkaz s uživateli v jiných pracovních prostorech — zavede je přímo na instalační stránku aplikace
-The share link uses the server's base URL (without any workspace subdomain) so it works for any workspace on the server.
+Odkaz ke sdílení používá základní adresu URL serveru (bez jakékoli subdomény pracovního prostoru), takže funguje pro libovolný pracovní prostor na serveru.
### Správa verzí
Chcete-li vydat aktualizaci:
1. Zvyšte hodnotu pole `version` v souboru `package.json`
-2. Run `yarn twenty deploy` (or `yarn twenty deploy -r production`)
-3. Workspaces that have the app installed will see the upgrade available in their settings
+2. Spusťte `yarn twenty deploy` (nebo `yarn twenty deploy -r production`)
+3. Pracovní prostory, které mají aplikaci nainstalovanou, uvidí dostupnou aktualizaci ve svém nastavení
-## Installing apps
+## Instalace aplikací
-Once an app is published (npm) or deployed (tarball), workspaces install it through the UI:
+Jakmile je aplikace publikována (npm) nebo nasazena (tarball), pracovní prostory ji instalují prostřednictvím uživatelského rozhraní:
```bash filename="Terminal"
yarn twenty install
```
-Or from the **Settings > Applications** page in the Twenty UI, where both marketplace and tarball-deployed apps can be browsed and installed.
+Nebo ze stránky **Nastavení > Aplikace** v rozhraní Twenty, kde lze procházet a instalovat jak aplikace z tržiště, tak aplikace nasazené jako tarball.
-## App distribution categories
+## Kategorie distribuce aplikací
Twenty organizuje aplikace do tří kategorií podle způsobu distribuce:
-| Kategorie | Jak to funguje | Viditelné v Marketplace? |
-| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
-| **Vývoj** | Aplikace v místním vývojářském režimu spuštěné přes `yarn twenty dev`. Slouží k sestavování a testování. | Ne |
-| **Published (npm)** | Apps published to npm with the `twenty-app` keyword. Uvedeny v Marketplace, aby je mohl kterýkoli pracovní prostor nainstalovat. | Ano |
-| **Internal (tarball)** | Aplikace nasazené pomocí tarballu na konkrétní server. Available only to workspaces on that server via a share link. | Ne |
+| Kategorie | Jak to funguje | Viditelné v Marketplace? |
+| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
+| **Vývoj** | Aplikace v místním vývojářském režimu spuštěné přes `yarn twenty dev`. Slouží k sestavování a testování. | Ne |
+| **Publikováno (npm)** | Aplikace publikované na npm s klíčovým slovem `twenty-app`. Uvedeny v Marketplace, aby je mohl kterýkoli pracovní prostor nainstalovat. | Ano |
+| **Interní (tarball)** | Aplikace nasazené pomocí tarballu na konkrétní server. Dostupné pouze pro pracovní prostory na tomto serveru prostřednictvím odkazu ke sdílení. | Ne |
Začněte v režimu **Development** při sestavování své aplikace. Až bude připravena, zvolte **Published** (npm) pro širokou distribuci nebo **Internal** (tarball) pro soukromé nasazení.
-## CLI reference
+## Reference CLI
-| Příkaz | Popis | Key flags |
-| --------------------------- | ---------------------------------------------- | --------------------------------------------------- |
-| `yarn twenty build` | Compile app and generate manifest | `--tarball` — also create a `.tgz` package |
-| `yarn twenty publish` | Build and publish to npm | `--tag ` — npm dist-tag (e.g., `beta`, `next`) |
-| `yarn twenty deploy` | Build and upload tarball to a server | `-r, --remote ` — target remote |
-| `yarn twenty catalog-sync` | Trigger marketplace catalog sync on the server | `-r, --remote ` — target remote |
-| `yarn twenty install` | Install a deployed app on a workspace | `-r, --remote ` — target remote |
-| `yarn twenty dev` | Watch and sync local changes | Uses default remote |
-| `yarn twenty remote add` | Add a server connection | `--url`, `--token`, `--as`, `--local`, `--port` |
-| `yarn twenty remote list` | List configured remotes | — |
-| `yarn twenty remote switch` | Set default remote | — |
-| `yarn twenty remote status` | Show connection status | — |
-| `yarn twenty remote remove` | Remove a remote | — |
+| Příkaz | Popis | Klíčové přepínače |
+| --------------------------- | ----------------------------------------------------- | --------------------------------------------------- |
+| `yarn twenty build` | Sestaví aplikaci a vygeneruje manifest | `--tarball` — také vytvoří balíček `.tgz` |
+| `yarn twenty publish` | Sestaví a publikuje na npm | `--tag ` — npm dist-tag (např. `beta`, `next`) |
+| `yarn twenty deploy` | Sestaví a nahraje tarball na server | `-r, --remote ` — cílový vzdálený server |
+| `yarn twenty catalog-sync` | Spustí synchronizaci katalogu tržiště na serveru | `-r, --remote ` — cílový vzdálený server |
+| `yarn twenty install` | Nainstaluje nasazenou aplikaci do pracovního prostoru | `-r, --remote ` — cílový vzdálený server |
+| `yarn twenty dev` | Sleduje a synchronizuje lokální změny | Používá výchozí vzdálený server |
+| `yarn twenty remote add` | Přidá připojení k serveru | `--url`, `--token`, `--as`, `--local`, `--port` |
+| `yarn twenty remote list` | Vypíše nakonfigurované vzdálené servery | — |
+| `yarn twenty remote switch` | Nastaví výchozí vzdálený server | — |
+| `yarn twenty remote status` | Zobrazí stav připojení | — |
+| `yarn twenty remote remove` | Odebere vzdálený server | — |
diff --git a/packages/twenty-docs/l/de/developers/extend/apps/getting-started.mdx b/packages/twenty-docs/l/de/developers/extend/apps/getting-started.mdx
index cdca09dfe6e..b7c59afab9c 100644
--- a/packages/twenty-docs/l/de/developers/extend/apps/getting-started.mdx
+++ b/packages/twenty-docs/l/de/developers/extend/apps/getting-started.mdx
@@ -123,7 +123,7 @@ Mit `--minimal` werden nur die Kerndateien erstellt (`application-config.ts`, `r
Auf hoher Ebene:
* **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ühren Sie `yarn twenty help` aus, um alle verfügbaren Befehle aufzulisten.
-* **.gitignore**: Ignores common artifacts such as `node_modules`, `.yarn`, `.twenty/`, `dist/`, `build/`, coverage folders, log files, and `.env*` files.
+* **.gitignore**: Ignoriert übliche Artefakte wie `node_modules`, `.yarn`, `.twenty/`, `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.
* **.oxlintrc.json** und **tsconfig.json**: Stellen Linting und TypeScript-Konfiguration für die TypeScript-Quellen Ihrer App bereit.
@@ -167,8 +167,8 @@ export default defineObject({
Spätere Befehle fügen weitere Dateien und Ordner hinzu:
-* `yarn twenty dev` will auto-generate the typed `CoreApiClient` (for workspace data via `/graphql`) into `node_modules/twenty-client-sdk/`. The `MetadataApiClient` (for workspace configuration and file uploads via `/metadata`) ships pre-built and is available immediately. Import them from `twenty-client-sdk/core` and `twenty-client-sdk/metadata` respectively.
-* `yarn twenty add` will add entity definition files under `src/` for your custom objects, functions, front components, roles, skills, and more.
+* `yarn twenty dev` generiert den typisierten `CoreApiClient` (für Arbeitsbereichsdaten über `/graphql`) automatisch in `node_modules/twenty-client-sdk/`. Der `MetadataApiClient` (für Arbeitsbereichskonfiguration und Datei-Uploads über `/metadata`) wird vorkompiliert ausgeliefert und ist sofort verfügbar. Importieren Sie sie jeweils aus `twenty-client-sdk/core` und `twenty-client-sdk/metadata`.
+* `yarn twenty add` fügt unter `src/` Entitätsdefinitionsdateien für Ihre benutzerdefinierten Objekte, Funktionen, Frontend-Komponenten, Rollen, Skills und mehr hinzu.
## Authentifizierung
diff --git a/packages/twenty-docs/l/de/developers/extend/apps/publishing.mdx b/packages/twenty-docs/l/de/developers/extend/apps/publishing.mdx
index 246d34af69b..42f88d117d6 100644
--- a/packages/twenty-docs/l/de/developers/extend/apps/publishing.mdx
+++ b/packages/twenty-docs/l/de/developers/extend/apps/publishing.mdx
@@ -24,9 +24,9 @@ Der Befehl `build` kompiliert Ihre TypeScript-Quelltexte, transpiliert Logikfunk
yarn twenty build
```
-Die Ausgabe wird in `.twenty/output/` geschrieben. This directory contains everything needed for distribution: compiled code, assets, the manifest, and a copy of your `package.json`.
+Die Ausgabe wird in `.twenty/output/` geschrieben. Dieses Verzeichnis enthält alles, was für die Verteilung benötigt wird: kompilierter Code, Assets, das Manifest und eine Kopie Ihrer `package.json`.
-To also create a `.tgz` tarball (used by the deploy command internally, or for manual distribution):
+Um zusätzlich ein `.tgz`-Tarball zu erstellen (wird intern vom Deploy-Befehl verwendet oder für die manuelle Verteilung):
```bash filename="Terminal"
yarn twenty build --tarball
@@ -39,11 +39,11 @@ Die Veröffentlichung auf npm macht Ihre App im Twenty-Marktplatz auffindbar. Je
### Anforderungen
* Ein [npm](https://www.npmjs.com)-Konto
-* The `twenty-app` keyword **must** be listed in your `package.json` `keywords` array
+* Das Schlüsselwort `twenty-app` **muss** in Ihrem `package.json`-`keywords`-Array aufgeführt sein
-### Adding the required keyword
+### Das erforderliche Schlüsselwort hinzufügen
-The Twenty marketplace discovers apps by searching the npm registry for packages with the `twenty-app` keyword. Add it to your `package.json`:
+Der Twenty-Marktplatz entdeckt Apps, indem er die npm-Registry nach Paketen mit dem Schlüsselwort `twenty-app` durchsucht. Fügen Sie es zu Ihrer `package.json` hinzu:
```json filename="package.json"
{
@@ -55,52 +55,52 @@ The Twenty marketplace discovers apps by searching the npm registry for packages
```
-The marketplace searches for `keywords:twenty-app` on the npm registry. Without this keyword, your package won't appear in the marketplace even if it has the `twenty-app-` name prefix.
+Der Marktplatz sucht in der npm-Registry nach `keywords:twenty-app`. Ohne dieses Schlüsselwort erscheint Ihr Paket nicht im Marktplatz, selbst wenn es das Namenspräfix `twenty-app-` hat.
### Schritte
-1. **Build your app:**
+1. **Erstellen Ihrer App:**
```bash filename="Terminal"
yarn twenty build
```
-2. **Publish to npm:**
+2. **Auf npm veröffentlichen:**
```bash filename="Terminal"
yarn twenty publish
```
-This runs `npm publish` from the `.twenty/output/` directory.
+Dies führt `npm publish` aus dem Verzeichnis `.twenty/output/` aus.
-To publish under a specific dist-tag (e.g., `beta` or `next`):
+Um unter einem bestimmten dist-tag zu veröffentlichen (z. B. `beta` oder `next`):
```bash filename="Terminal"
yarn twenty publish --tag beta
```
-### How marketplace discovery works
+### So funktioniert die Marktplatz-Erkennung
-The Twenty server syncs its marketplace catalog from the npm registry **every hour**:
+Der Twenty-Server synchronisiert seinen Marktplatzkatalog **stündlich** mit der npm-Registry:
-1. It searches for all npm packages with the `keywords:twenty-app` keyword
-2. For each package, it fetches the `manifest.json` from the npm CDN
-3. The app's metadata (name, description, author, logo, screenshots, category) is extracted from the manifest and displayed in the marketplace
+1. Er sucht nach allen npm-Paketen mit dem Schlüsselwort `keywords:twenty-app`
+2. Für jedes Paket ruft er die `manifest.json` vom npm-CDN ab
+3. Die Metadaten der App (Name, Beschreibung, Autor, Logo, Screenshots, Kategorie) werden aus dem Manifest extrahiert und im Marktplatz angezeigt
-After publishing, your app can take up to one hour to appear in the marketplace. To trigger the sync immediately instead of waiting for the next hourly run:
+Nach der Veröffentlichung kann es bis zu einer Stunde dauern, bis Ihre App im Marktplatz erscheint. Um die Synchronisierung sofort auszulösen, statt auf den nächsten stündlichen Lauf zu warten:
```bash filename="Terminal"
yarn twenty catalog-sync
```
-To target a specific remote:
+Um ein bestimmtes Remote anzusteuern:
```bash filename="Terminal"
yarn twenty catalog-sync -r production
```
-The metadata shown in the marketplace comes from your `defineApplication()` call in your app source code — fields like `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl`, and `termsUrl`.
+Die im Marktplatz angezeigten Metadaten stammen aus Ihrem `defineApplication()`-Aufruf im Quellcode Ihrer App — Felder wie `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl` und `termsUrl`.
### CI-Veröffentlichung
@@ -133,39 +133,39 @@ jobs:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
```
-For other CI systems (GitLab CI, CircleCI, etc.), the same three commands apply: `yarn install`, `yarn twenty build`, then `npm publish` from `.twenty/output`.
+Für andere CI-Systeme (GitLab CI, CircleCI usw.) gelten die gleichen drei Befehle: `yarn install`, `yarn twenty build` und anschließend `npm publish` aus `.twenty/output`.
**npm-Provenance** ist optional, wird jedoch empfohlen. Das Veröffentlichen mit `--provenance` fügt Ihrem npm-Eintrag ein Vertrauensabzeichen hinzu, sodass Nutzer überprüfen können, dass das Paket aus einem bestimmten Commit in einer öffentlichen CI-Pipeline gebaut wurde. Siehe die [npm-Provenance-Dokumentation](https://docs.npmjs.com/generating-provenance-statements) für Einrichtungshinweise.
-## Deploying to a server (tarball)
+## Bereitstellung auf einem Server (Tarball)
-For apps you don't want publicly available — proprietary tools, enterprise-only integrations, or experimental builds — you can deploy a tarball directly to a Twenty server.
+Für Apps, die Sie nicht öffentlich verfügbar machen möchten — proprietäre Tools, ausschließlich für Unternehmen bestimmte Integrationen oder experimentelle Builds — können Sie einen Tarball direkt auf einem Twenty-Server bereitstellen.
### Voraussetzungen
-Before deploying, you need a configured remote pointing to the target server. Remotes store the server URL and authentication credentials locally in `~/.twenty/config.json`.
+Bevor Sie bereitstellen, benötigen Sie ein konfiguriertes Remote, das auf den Zielserver zeigt. Remotes speichern die Server-URL und Anmeldeinformationen lokal in `~/.twenty/config.json`.
-Add a remote:
+Ein Remote hinzufügen:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --as production
```
-For a local development server:
+Für einen lokalen Entwicklungsserver:
```bash filename="Terminal"
yarn twenty remote add --local --as local
```
-You can also authenticate with an API key for non-interactive environments:
+Sie können sich in nicht interaktiven Umgebungen auch mit einem API-Schlüssel authentifizieren:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --token --as production
```
-Manage your remotes:
+Ihre Remotes verwalten:
```bash filename="Terminal"
yarn twenty remote list # List all configured remotes
@@ -174,76 +174,76 @@ yarn twenty remote status # Show active remote and auth status
yarn twenty remote remove old # Remove a remote
```
-### Deploying
+### Bereitstellen
-Build and upload your app to the server in one step:
+Bauen und laden Sie Ihre App in einem Schritt auf den Server hoch:
```bash filename="Terminal"
yarn twenty deploy
```
-This builds the app with `--tarball`, then uploads the tarball to the default remote via a GraphQL multipart upload.
+Dies baut die App mit `--tarball` und lädt anschließend den Tarball per GraphQL-Multipart-Upload auf das Standard-Remote hoch.
-To deploy to a specific remote:
+Um auf ein bestimmtes Remote bereitzustellen:
```bash filename="Terminal"
yarn twenty deploy -r production
```
-### Sharing a deployed app
+### Eine bereitgestellte App freigeben
-Tarball apps are not listed in the public marketplace, so other workspaces on the same server won't discover them by browsing. To share a deployed app:
+Tarball-Apps werden nicht im öffentlichen Marktplatz gelistet, daher entdecken andere Arbeitsbereiche auf demselben Server sie nicht durch Stöbern. So geben Sie eine bereitgestellte App frei:
-1. Go to **Settings > Applications > Registrations** and open your app
-2. In the **Distribution** tab, click **Copy share link**
-3. Share this link with users on other workspaces — it takes them directly to the app's install page
+1. Gehen Sie zu **Einstellungen > Anwendungen > Registrierungen** und öffnen Sie Ihre App
+2. Klicken Sie im Tab **Distribution** auf **Freigabelink kopieren**
+3. Teilen Sie diesen Link mit Nutzern in anderen Arbeitsbereichen — er führt sie direkt zur Installationsseite der App
-The share link uses the server's base URL (without any workspace subdomain) so it works for any workspace on the server.
+Der Freigabelink verwendet die Basis-URL des Servers (ohne Workspace-Subdomain), sodass er für jeden Arbeitsbereich auf dem Server funktioniert.
### Versionsverwaltung
So veröffentlichen Sie ein Update:
1. Erhöhen Sie das Feld `version` in Ihrer `package.json`
-2. Run `yarn twenty deploy` (or `yarn twenty deploy -r production`)
-3. Workspaces that have the app installed will see the upgrade available in their settings
+2. Führen Sie `yarn twenty deploy` aus (oder `yarn twenty deploy -r production`)
+3. Arbeitsbereiche, die die App installiert haben, sehen in ihren Einstellungen, dass ein Upgrade verfügbar ist.
-## Installing apps
+## Apps installieren
-Once an app is published (npm) or deployed (tarball), workspaces install it through the UI:
+Sobald eine App veröffentlicht (npm) oder bereitgestellt (Tarball) wurde, installieren Arbeitsbereiche sie über die Benutzeroberfläche:
```bash filename="Terminal"
yarn twenty install
```
-Or from the **Settings > Applications** page in the Twenty UI, where both marketplace and tarball-deployed apps can be browsed and installed.
+Oder über die Seite **Einstellungen > Anwendungen** in der Twenty-Oberfläche, wo sowohl Marktplatz- als auch per Tarball bereitgestellte Apps durchsucht und installiert werden können.
-## App distribution categories
+## Kategorien der App-Verteilung
Twenty organisiert Apps in drei Kategorien, basierend auf ihrer Vertriebsart:
-| Kategorie | Wie es funktioniert | Im Marktplatz sichtbar? |
-| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
-| **Entwicklung** | Lokale Apps im Entwicklungsmodus, die über `yarn twenty dev` ausgeführt werden. Zum Erstellen und Testen verwendet. | Nein |
-| **Published (npm)** | Apps published to npm with the `twenty-app` keyword. Im Marktplatz gelistet, damit jeder Arbeitsbereich sie installieren kann. | Ja |
-| **Internal (tarball)** | Apps, die per Tarball auf einen bestimmten Server bereitgestellt werden. Available only to workspaces on that server via a share link. | Nein |
+| Kategorie | Wie es funktioniert | Im Marktplatz sichtbar? |
+| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
+| **Entwicklung** | Lokale Apps im Entwicklungsmodus, die über `yarn twenty dev` ausgeführt werden. Zum Erstellen und Testen verwendet. | Nein |
+| **Veröffentlicht (npm)** | Auf npm veröffentlichte Apps mit dem Schlüsselwort `twenty-app`. Im Marktplatz gelistet, damit jeder Arbeitsbereich sie installieren kann. | Ja |
+| **Intern (Tarball)** | Apps, die per Tarball auf einen bestimmten Server bereitgestellt werden. Nur für Arbeitsbereiche auf diesem Server per Freigabelink verfügbar. | Nein |
Beginnen Sie im **Entwicklungsmodus**, während Sie Ihre App erstellen. Wenn sie bereit ist, wählen Sie **Veröffentlicht** (npm) für die breite Verteilung oder **Intern** (Tarball) für die private Bereitstellung.
-## CLI reference
+## CLI-Referenz
-| Befehl | Beschreibung | Key flags |
-| --------------------------- | ---------------------------------------------- | --------------------------------------------------- |
-| `yarn twenty build` | Compile app and generate manifest | `--tarball` — also create a `.tgz` package |
-| `yarn twenty publish` | Build and publish to npm | `--tag ` — npm dist-tag (e.g., `beta`, `next`) |
-| `yarn twenty deploy` | Build and upload tarball to a server | `-r, --remote ` — target remote |
-| `yarn twenty catalog-sync` | Trigger marketplace catalog sync on the server | `-r, --remote ` — target remote |
-| `yarn twenty install` | Install a deployed app on a workspace | `-r, --remote ` — target remote |
-| `yarn twenty dev` | Watch and sync local changes | Uses default remote |
-| `yarn twenty remote add` | Add a server connection | `--url`, `--token`, `--as`, `--local`, `--port` |
-| `yarn twenty remote list` | List configured remotes | — |
-| `yarn twenty remote switch` | Set default remote | — |
-| `yarn twenty remote status` | Show connection status | — |
-| `yarn twenty remote remove` | Remove a remote | — |
+| Befehl | Beschreibung | Wichtige Flags |
+| --------------------------- | --------------------------------------------------------------- | --------------------------------------------------- |
+| `yarn twenty build` | App kompilieren und Manifest erzeugen | `--tarball` — zusätzlich ein `.tgz`-Paket erstellen |
+| `yarn twenty publish` | Bauen und auf npm veröffentlichen | `--tag ` — npm-dist-tag (z. B. `beta`, `next`) |
+| `yarn twenty deploy` | Tarball bauen und auf einen Server hochladen | `-r, --remote ` — Ziel-Remote |
+| `yarn twenty catalog-sync` | Synchronisierung des Marktplatzkatalogs auf dem Server auslösen | `-r, --remote ` — Ziel-Remote |
+| `yarn twenty install` | Eine bereitgestellte App in einem Arbeitsbereich installieren | `-r, --remote ` — Ziel-Remote |
+| `yarn twenty dev` | Lokale Änderungen beobachten und synchronisieren | Verwendet das Standard-Remote |
+| `yarn twenty remote add` | Eine Serververbindung hinzufügen | `--url`, `--token`, `--as`, `--local`, `--port` |
+| `yarn twenty remote list` | Konfigurierte Remotes auflisten | — |
+| `yarn twenty remote switch` | Standard-Remote festlegen | — |
+| `yarn twenty remote status` | Verbindungsstatus anzeigen | — |
+| `yarn twenty remote remove` | Ein Remote entfernen | — |
diff --git a/packages/twenty-docs/l/it/developers/extend/apps/getting-started.mdx b/packages/twenty-docs/l/it/developers/extend/apps/getting-started.mdx
index e1363853666..67c8f4581e6 100644
--- a/packages/twenty-docs/l/it/developers/extend/apps/getting-started.mdx
+++ b/packages/twenty-docs/l/it/developers/extend/apps/getting-started.mdx
@@ -123,7 +123,7 @@ Con `--minimal`, vengono creati solo i file principali (`application-config.ts`,
A livello generale:
* **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**: Ignores common artifacts such as `node_modules`, `.yarn`, `.twenty/`, `dist/`, `build/`, coverage folders, log files, and `.env*` files.
+* **.gitignore**: Ignora i file generati comuni come `node_modules`, `.yarn`, `.twenty/`, `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.
* **.oxlintrc.json** e **tsconfig.json**: Forniscono linting e configurazione TypeScript per i sorgenti TypeScript della tua app.
@@ -167,8 +167,8 @@ export default defineObject({
Comandi successivi aggiungeranno altri file e cartelle:
-* `yarn twenty dev` will auto-generate the typed `CoreApiClient` (for workspace data via `/graphql`) into `node_modules/twenty-client-sdk/`. The `MetadataApiClient` (for workspace configuration and file uploads via `/metadata`) ships pre-built and is available immediately. Import them from `twenty-client-sdk/core` and `twenty-client-sdk/metadata` respectively.
-* `yarn twenty add` will add entity definition files under `src/` for your custom objects, functions, front components, roles, skills, and more.
+* `yarn twenty dev` genererà automaticamente il `CoreApiClient` tipizzato (per i dati dell'area di lavoro via `/graphql`) in `node_modules/twenty-client-sdk/`. Il `MetadataApiClient` (per la configurazione dell'area di lavoro e il caricamento di file via `/metadata`) è fornito precompilato ed è disponibile immediatamente. Importali da `twenty-client-sdk/core` e `twenty-client-sdk/metadata` rispettivamente.
+* `yarn twenty add` aggiungerà file di definizione delle entità sotto `src/` per i tuoi oggetti personalizzati, funzioni, componenti front-end, ruoli, competenze e altro ancora.
## Autenticazione
diff --git a/packages/twenty-docs/l/it/developers/extend/apps/publishing.mdx b/packages/twenty-docs/l/it/developers/extend/apps/publishing.mdx
index 60838145e5c..bc02c0a195f 100644
--- a/packages/twenty-docs/l/it/developers/extend/apps/publishing.mdx
+++ b/packages/twenty-docs/l/it/developers/extend/apps/publishing.mdx
@@ -24,9 +24,9 @@ Il comando `build` compila i tuoi sorgenti TypeScript, transpila le funzioni di
yarn twenty build
```
-L'output viene scritto in `.twenty/output/`. This directory contains everything needed for distribution: compiled code, assets, the manifest, and a copy of your `package.json`.
+L'output viene scritto in `.twenty/output/`. Questa directory contiene tutto il necessario per la distribuzione: codice compilato, risorse, il manifest e una copia del tuo `package.json`.
-To also create a `.tgz` tarball (used by the deploy command internally, or for manual distribution):
+Per creare anche un tarball `.tgz` (usato internamente dal comando di deploy o per la distribuzione manuale):
```bash filename="Terminal"
yarn twenty build --tarball
@@ -39,11 +39,11 @@ La pubblicazione su npm rende la tua app scopribile nel marketplace di Twenty. Q
### Requisiti
* Un account [npm](https://www.npmjs.com)
-* The `twenty-app` keyword **must** be listed in your `package.json` `keywords` array
+* La parola chiave `twenty-app` **deve** essere elencata nell'array `keywords` del tuo `package.json`
-### Adding the required keyword
+### Aggiunta della parola chiave richiesta
-The Twenty marketplace discovers apps by searching the npm registry for packages with the `twenty-app` keyword. Add it to your `package.json`:
+Il marketplace di Twenty individua le app cercando nel registro npm i pacchetti con la parola chiave `twenty-app`. Aggiungila al tuo `package.json`:
```json filename="package.json"
{
@@ -55,52 +55,52 @@ The Twenty marketplace discovers apps by searching the npm registry for packages
```
-The marketplace searches for `keywords:twenty-app` on the npm registry. Without this keyword, your package won't appear in the marketplace even if it has the `twenty-app-` name prefix.
+Il marketplace cerca `keywords:twenty-app` sul registro npm. Senza questa parola chiave, il tuo pacchetto non apparirà nel marketplace anche se ha il prefisso nel nome `twenty-app-`.
### Passaggi
-1. **Build your app:**
+1. **Compila la tua app:**
```bash filename="Terminal"
yarn twenty build
```
-2. **Publish to npm:**
+2. **Pubblica su npm:**
```bash filename="Terminal"
yarn twenty publish
```
-This runs `npm publish` from the `.twenty/output/` directory.
+Questo esegue `npm publish` dalla directory `.twenty/output/`.
-To publish under a specific dist-tag (e.g., `beta` or `next`):
+Per pubblicare con un dist-tag specifico (ad es. `beta` o `next`):
```bash filename="Terminal"
yarn twenty publish --tag beta
```
-### How marketplace discovery works
+### Come funziona l'individuazione nel marketplace
-The Twenty server syncs its marketplace catalog from the npm registry **every hour**:
+Il server Twenty sincronizza il proprio catalogo del marketplace dal registro npm **ogni ora**:
-1. It searches for all npm packages with the `keywords:twenty-app` keyword
-2. For each package, it fetches the `manifest.json` from the npm CDN
-3. The app's metadata (name, description, author, logo, screenshots, category) is extracted from the manifest and displayed in the marketplace
+1. Cerca tutti i pacchetti npm con `keywords:twenty-app`
+2. Per ogni pacchetto, recupera il `manifest.json` dalla CDN di npm
+3. I metadati dell'app (nome, descrizione, autore, logo, screenshot, categoria) vengono estratti dal manifest e visualizzati nel marketplace
-After publishing, your app can take up to one hour to appear in the marketplace. To trigger the sync immediately instead of waiting for the next hourly run:
+Dopo la pubblicazione, la tua app può impiegare fino a un'ora per apparire nel marketplace. Per attivare subito la sincronizzazione invece di attendere la prossima esecuzione oraria:
```bash filename="Terminal"
yarn twenty catalog-sync
```
-To target a specific remote:
+Per puntare a un remote specifico:
```bash filename="Terminal"
yarn twenty catalog-sync -r production
```
-The metadata shown in the marketplace comes from your `defineApplication()` call in your app source code — fields like `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl`, and `termsUrl`.
+I metadati mostrati nel marketplace provengono dalla chiamata a `defineApplication()` nel codice sorgente della tua app — campi come `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl` e `termsUrl`.
### Pubblicazione con CI
@@ -133,39 +133,39 @@ jobs:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
```
-For other CI systems (GitLab CI, CircleCI, etc.), the same three commands apply: `yarn install`, `yarn twenty build`, then `npm publish` from `.twenty/output`.
+Per altri sistemi CI (GitLab CI, CircleCI, ecc.), si applicano gli stessi tre comandi: `yarn install`, `yarn twenty build`, quindi `npm publish` da `.twenty/output`.
**npm provenance** è opzionale ma consigliata. La pubblicazione con `--provenance` aggiunge un badge di attendibilità alla tua scheda npm, consentendo agli utenti di verificare che il pacchetto sia stato creato a partire da uno specifico commit in una pipeline CI pubblica. Consulta la [documentazione su npm provenance](https://docs.npmjs.com/generating-provenance-statements) per le istruzioni di configurazione.
-## Deploying to a server (tarball)
+## Distribuzione su un server (tarball)
-For apps you don't want publicly available — proprietary tools, enterprise-only integrations, or experimental builds — you can deploy a tarball directly to a Twenty server.
+Per le app che non vuoi rendere pubbliche — strumenti proprietari, integrazioni solo aziendali o build sperimentali — puoi distribuire un tarball direttamente su un server Twenty.
### Prerequisiti
-Before deploying, you need a configured remote pointing to the target server. Remotes store the server URL and authentication credentials locally in `~/.twenty/config.json`.
+Prima della distribuzione, ti serve un remote configurato che punti al server di destinazione. I remote memorizzano localmente l'URL del server e le credenziali di autenticazione in `~/.twenty/config.json`.
-Add a remote:
+Aggiungi un remote:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --as production
```
-For a local development server:
+Per un server di sviluppo locale:
```bash filename="Terminal"
yarn twenty remote add --local --as local
```
-You can also authenticate with an API key for non-interactive environments:
+Puoi anche autenticarti con una chiave API per ambienti non interattivi:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --token --as production
```
-Manage your remotes:
+Gestisci i tuoi remote:
```bash filename="Terminal"
yarn twenty remote list # List all configured remotes
@@ -174,76 +174,76 @@ yarn twenty remote status # Show active remote and auth status
yarn twenty remote remove old # Remove a remote
```
-### Deploying
+### Distribuzione
-Build and upload your app to the server in one step:
+Compila e carica la tua app sul server in un solo passaggio:
```bash filename="Terminal"
yarn twenty deploy
```
-This builds the app with `--tarball`, then uploads the tarball to the default remote via a GraphQL multipart upload.
+Questo compila l'app con `--tarball`, quindi carica il tarball sul remote predefinito tramite un upload multipart GraphQL.
-To deploy to a specific remote:
+Per distribuire su un remote specifico:
```bash filename="Terminal"
yarn twenty deploy -r production
```
-### Sharing a deployed app
+### Condivisione di un'app distribuita
-Tarball apps are not listed in the public marketplace, so other workspaces on the same server won't discover them by browsing. To share a deployed app:
+Le app in formato tarball non sono elencate nel marketplace pubblico, quindi altri spazi di lavoro sullo stesso server non le troveranno navigando. Per condividere un'app distribuita:
-1. Go to **Settings > Applications > Registrations** and open your app
-2. In the **Distribution** tab, click **Copy share link**
-3. Share this link with users on other workspaces — it takes them directly to the app's install page
+1. Vai su **Impostazioni > Applicazioni > Registrazioni** e apri la tua app
+2. Nella scheda **Distribuzione**, fai clic su **Copia link di condivisione**
+3. Condividi questo link con utenti su altri spazi di lavoro — li porterà direttamente alla pagina di installazione dell'app
-The share link uses the server's base URL (without any workspace subdomain) so it works for any workspace on the server.
+Il link di condivisione utilizza l'URL di base del server (senza alcun sottodominio dello spazio di lavoro) così funziona per qualsiasi spazio di lavoro sul server.
### Gestione delle versioni
Per rilasciare un aggiornamento:
1. Incrementa il campo `version` nel tuo `package.json`
-2. Run `yarn twenty deploy` (or `yarn twenty deploy -r production`)
-3. Workspaces that have the app installed will see the upgrade available in their settings
+2. Esegui `yarn twenty deploy` (oppure `yarn twenty deploy -r production`)
+3. Gli spazi di lavoro che hanno l'app installata vedranno l'aggiornamento disponibile nelle proprie impostazioni
-## Installing apps
+## Installazione delle app
-Once an app is published (npm) or deployed (tarball), workspaces install it through the UI:
+Una volta che un'app è stata pubblicata (npm) o distribuita (tarball), gli spazi di lavoro la installano tramite l'interfaccia utente:
```bash filename="Terminal"
yarn twenty install
```
-Or from the **Settings > Applications** page in the Twenty UI, where both marketplace and tarball-deployed apps can be browsed and installed.
+Oppure dalla pagina **Impostazioni > Applicazioni** nell'interfaccia di Twenty, dove è possibile sfogliare e installare sia le app del marketplace sia quelle distribuite tramite tarball.
-## App distribution categories
+## Categorie di distribuzione delle app
Twenty organizza le app in tre categorie in base a come vengono distribuite:
-| Categoria | Come funziona | Visibile nel marketplace? |
-| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- |
-| **Sviluppo** | App in modalità di sviluppo locale eseguite tramite `yarn twenty dev`. Usate per la compilazione e i test. | No |
-| **Published (npm)** | Apps published to npm with the `twenty-app` keyword. Elencate nel marketplace per l'installazione da parte di qualsiasi spazio di lavoro. | Sì |
-| **Internal (tarball)** | App distribuite tramite tarball su un server specifico. Available only to workspaces on that server via a share link. | No |
+| Categoria | Come funziona | Visibile nel marketplace? |
+| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------- |
+| **Sviluppo** | App in modalità di sviluppo locale eseguite tramite `yarn twenty dev`. Usate per la compilazione e i test. | No |
+| **Pubblicate (npm)** | App pubblicate su npm con la parola chiave `twenty-app`. Elencate nel marketplace per l'installazione da parte di qualsiasi spazio di lavoro. | Sì |
+| **Interne (tarball)** | App distribuite tramite tarball su un server specifico. Disponibili solo per gli spazi di lavoro su quel server tramite un link di condivisione. | No |
Inizia in modalità **Sviluppo** mentre crei la tua app. Quando è pronta, scegli **Pubblicata** (npm) per un'ampia distribuzione oppure **Interna** (tarball) per una distribuzione privata.
-## CLI reference
+## Riferimento CLI
-| Comando | Descrizione | Key flags |
-| --------------------------- | ---------------------------------------------- | --------------------------------------------------- |
-| `yarn twenty build` | Compile app and generate manifest | `--tarball` — also create a `.tgz` package |
-| `yarn twenty publish` | Build and publish to npm | `--tag ` — npm dist-tag (e.g., `beta`, `next`) |
-| `yarn twenty deploy` | Build and upload tarball to a server | `-r, --remote ` — target remote |
-| `yarn twenty catalog-sync` | Trigger marketplace catalog sync on the server | `-r, --remote ` — target remote |
-| `yarn twenty install` | Install a deployed app on a workspace | `-r, --remote ` — target remote |
-| `yarn twenty dev` | Watch and sync local changes | Uses default remote |
-| `yarn twenty remote add` | Add a server connection | `--url`, `--token`, `--as`, `--local`, `--port` |
-| `yarn twenty remote list` | List configured remotes | — |
-| `yarn twenty remote switch` | Set default remote | — |
-| `yarn twenty remote status` | Show connection status | — |
-| `yarn twenty remote remove` | Remove a remote | — |
+| Comando | Descrizione | Flag principali |
+| --------------------------- | ------------------------------------------------------------------ | ---------------------------------------------------- |
+| `yarn twenty build` | Compila l'app e genera il manifest | `--tarball` — crea anche un pacchetto `.tgz` |
+| `yarn twenty publish` | Compila e pubblica su npm | `--tag ` — dist-tag npm (ad es. `beta`, `next`) |
+| `yarn twenty deploy` | Compila e carica un tarball su un server | `-r, --remote ` — remote di destinazione |
+| `yarn twenty catalog-sync` | Attiva la sincronizzazione del catalogo del marketplace sul server | `-r, --remote ` — remote di destinazione |
+| `yarn twenty install` | Installa un'app distribuita su uno spazio di lavoro | `-r, --remote ` — remote di destinazione |
+| `yarn twenty dev` | Osserva e sincronizza le modifiche locali | Usa il remote predefinito |
+| `yarn twenty remote add` | Aggiungi una connessione al server | `--url`, `--token`, `--as`, `--local`, `--port` |
+| `yarn twenty remote list` | Elenca i remote configurati | — |
+| `yarn twenty remote switch` | Imposta il remote predefinito | — |
+| `yarn twenty remote status` | Mostra lo stato della connessione | — |
+| `yarn twenty remote remove` | Rimuovi un remote | — |
diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started.mdx
index e2002674155..56eb8c89763 100644
--- a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started.mdx
+++ b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started.mdx
@@ -123,7 +123,7 @@ Cu `--minimal`, sunt create doar fișierele de bază (`application-config.ts`, `
Pe scurt:
* **package.json**: Declară numele aplicației, versiunea, motoarele (Node 24+, Yarn 4) și adaugă `twenty-sdk` plus un script `twenty` care deleagă către CLI-ul local `twenty`. Rulați `yarn twenty help` pentru a lista toate comenzile disponibile.
-* **.gitignore**: Ignores common artifacts such as `node_modules`, `.yarn`, `.twenty/`, `dist/`, `build/`, coverage folders, log files, and `.env*` files.
+* **.gitignore**: Ignoră artefacte comune precum `node_modules`, `.yarn`, `.twenty/`, `dist/`, `build/`, foldere de coverage, fișiere jurnal și fișiere `.env*`.
* **yarn.lock**, **.yarnrc.yml**, **.yarn/**: Blochează și configurează lanțul de instrumente Yarn 4 folosit de proiect.
* **.nvmrc**: Fixează versiunea Node.js așteptată de proiect.
* **.oxlintrc.json** și **tsconfig.json**: Oferă linting și configurație TypeScript pentru fișierele TypeScript ale aplicației.
@@ -167,8 +167,8 @@ export default defineObject({
Comenzile ulterioare vor adăuga mai multe fișiere și foldere:
-* `yarn twenty dev` will auto-generate the typed `CoreApiClient` (for workspace data via `/graphql`) into `node_modules/twenty-client-sdk/`. The `MetadataApiClient` (for workspace configuration and file uploads via `/metadata`) ships pre-built and is available immediately. Import them from `twenty-client-sdk/core` and `twenty-client-sdk/metadata` respectively.
-* `yarn twenty add` will add entity definition files under `src/` for your custom objects, functions, front components, roles, skills, and more.
+* `yarn twenty dev` va genera automat `CoreApiClient` tipizat (pentru datele spațiului de lucru prin `/graphql`) în `node_modules/twenty-client-sdk/`. `MetadataApiClient` (pentru configurarea spațiului de lucru și încărcarea fișierelor prin `/metadata`) este livrat preconstruit și este disponibil imediat. Importați-le din `twenty-client-sdk/core` și `twenty-client-sdk/metadata`, respectiv.
+* `yarn twenty add` va adăuga fișiere de definire a entităților în `src/` pentru obiectele personalizate, funcțiile, componentele front-end, rolurile, abilitățile și altele.
## Autentificare
diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/publishing.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/publishing.mdx
index 279434a4c78..f68adbb3e78 100644
--- a/packages/twenty-docs/l/ro/developers/extend/apps/publishing.mdx
+++ b/packages/twenty-docs/l/ro/developers/extend/apps/publishing.mdx
@@ -24,9 +24,9 @@ Comanda `build` compilează sursele TypeScript, transpilează funcțiile de logi
yarn twenty build
```
-Rezultatul este scris în `.twenty/output/`. This directory contains everything needed for distribution: compiled code, assets, the manifest, and a copy of your `package.json`.
+Rezultatul este scris în `.twenty/output/`. Acest director conține tot ce este necesar pentru distribuție: cod compilat, resurse, manifestul și o copie a fișierului tău `package.json`.
-To also create a `.tgz` tarball (used by the deploy command internally, or for manual distribution):
+Pentru a crea și un pachet `.tgz` (folosit intern de comanda de implementare sau pentru distribuire manuală):
```bash filename="Terminal"
yarn twenty build --tarball
@@ -39,11 +39,11 @@ Publicarea pe npm face ca aplicația ta să poată fi descoperită în marketpla
### Cerințe
* Un cont [npm](https://www.npmjs.com)
-* The `twenty-app` keyword **must** be listed in your `package.json` `keywords` array
+* Cuvântul cheie `twenty-app` trebuie să fie listat în array-ul `keywords` din `package.json`-ul tău
-### Adding the required keyword
+### Adăugarea cuvântului cheie necesar
-The Twenty marketplace discovers apps by searching the npm registry for packages with the `twenty-app` keyword. Add it to your `package.json`:
+Marketplace-ul Twenty descoperă aplicații căutând în registrul npm pachete cu cuvântul cheie `twenty-app`. Adaugă-l în `package.json`-ul tău:
```json filename="package.json"
{
@@ -55,52 +55,52 @@ The Twenty marketplace discovers apps by searching the npm registry for packages
```
-The marketplace searches for `keywords:twenty-app` on the npm registry. Without this keyword, your package won't appear in the marketplace even if it has the `twenty-app-` name prefix.
+Marketplace-ul caută `keywords:twenty-app` în registrul npm. Fără acest cuvânt cheie, pachetul tău nu va apărea în marketplace chiar dacă are prefixul de nume `twenty-app-`.
### Pași
-1. **Build your app:**
+1. **Construiește-ți aplicația:**
```bash filename="Terminal"
yarn twenty build
```
-2. **Publish to npm:**
+2. **Publică pe npm:**
```bash filename="Terminal"
yarn twenty publish
```
-This runs `npm publish` from the `.twenty/output/` directory.
+Aceasta rulează `npm publish` din directorul `.twenty/output/`.
-To publish under a specific dist-tag (e.g., `beta` or `next`):
+Pentru a publica sub un dist-tag specific (de ex., `beta` sau `next`):
```bash filename="Terminal"
yarn twenty publish --tag beta
```
-### How marketplace discovery works
+### Cum funcționează descoperirea în marketplace
-The Twenty server syncs its marketplace catalog from the npm registry **every hour**:
+Serverul Twenty sincronizează catalogul marketplace-ului din registrul npm la fiecare oră:
-1. It searches for all npm packages with the `keywords:twenty-app` keyword
-2. For each package, it fetches the `manifest.json` from the npm CDN
-3. The app's metadata (name, description, author, logo, screenshots, category) is extracted from the manifest and displayed in the marketplace
+1. Caută toate pachetele npm cu cuvântul cheie `keywords:twenty-app`
+2. Pentru fiecare pachet, preia `manifest.json` din CDN-ul npm
+3. Metadatele aplicației (nume, descriere, autor, logo, capturi de ecran, categorie) sunt extrase din manifest și afișate în marketplace
-After publishing, your app can take up to one hour to appear in the marketplace. To trigger the sync immediately instead of waiting for the next hourly run:
+După publicare, poate dura până la o oră ca aplicația ta să apară în marketplace. Pentru a declanșa sincronizarea imediat, în loc să aștepți următoarea rulare orară:
```bash filename="Terminal"
yarn twenty catalog-sync
```
-To target a specific remote:
+Pentru a viza un remote specific:
```bash filename="Terminal"
yarn twenty catalog-sync -r production
```
-The metadata shown in the marketplace comes from your `defineApplication()` call in your app source code — fields like `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl`, and `termsUrl`.
+Metadatele afișate în marketplace provin din apelul tău `defineApplication()` din codul sursă al aplicației — câmpuri precum `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl` și `termsUrl`.
### Publicare CI
@@ -133,39 +133,39 @@ jobs:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
```
-For other CI systems (GitLab CI, CircleCI, etc.), the same three commands apply: `yarn install`, `yarn twenty build`, then `npm publish` from `.twenty/output`.
+Pentru alte sisteme CI (GitLab CI, CircleCI etc.), se aplică aceleași trei comenzi: `yarn install`, `yarn twenty build`, apoi `npm publish` din `.twenty/output`.
**npm provenance** este opțională, dar recomandată. Publicarea cu `--provenance` adaugă un badge de încredere la listarea ta în npm, permițând utilizatorilor să verifice că pachetul a fost construit dintr-un commit specific într-un pipeline CI public. Vezi [documentația npm provenance](https://docs.npmjs.com/generating-provenance-statements) pentru instrucțiuni de configurare.
-## Deploying to a server (tarball)
+## Implementare pe un server (tarball)
-For apps you don't want publicly available — proprietary tools, enterprise-only integrations, or experimental builds — you can deploy a tarball directly to a Twenty server.
+Pentru aplicațiile pe care nu le dorești disponibile public — instrumente proprietare, integrări doar pentru enterprise sau build-uri experimentale — poți implementa un tarball direct pe un server Twenty.
### Cerințe
-Before deploying, you need a configured remote pointing to the target server. Remotes store the server URL and authentication credentials locally in `~/.twenty/config.json`.
+Înainte de implementare, ai nevoie de un remote configurat care să indice serverul țintă. Remote-urile stochează local URL-ul serverului și credențialele de autentificare în `~/.twenty/config.json`.
-Add a remote:
+Adaugă un remote:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --as production
```
-For a local development server:
+Pentru un server de dezvoltare local:
```bash filename="Terminal"
yarn twenty remote add --local --as local
```
-You can also authenticate with an API key for non-interactive environments:
+Te poți autentifica și cu o cheie API pentru medii neinteractive:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --token --as production
```
-Manage your remotes:
+Gestionează-ți remote-urile:
```bash filename="Terminal"
yarn twenty remote list # List all configured remotes
@@ -174,76 +174,76 @@ yarn twenty remote status # Show active remote and auth status
yarn twenty remote remove old # Remove a remote
```
-### Deploying
+### Implementare
-Build and upload your app to the server in one step:
+Construiește și încarcă aplicația ta pe server într-un singur pas:
```bash filename="Terminal"
yarn twenty deploy
```
-This builds the app with `--tarball`, then uploads the tarball to the default remote via a GraphQL multipart upload.
+Aceasta construiește aplicația cu `--tarball`, apoi încarcă tarball-ul către remote-ul implicit printr-o încărcare multipart GraphQL.
-To deploy to a specific remote:
+Pentru a implementa către un remote specific:
```bash filename="Terminal"
yarn twenty deploy -r production
```
-### Sharing a deployed app
+### Partajarea unei aplicații implementate
-Tarball apps are not listed in the public marketplace, so other workspaces on the same server won't discover them by browsing. To share a deployed app:
+Aplicațiile tarball nu sunt listate în marketplace-ul public, astfel încât alte spații de lucru de pe același server nu le vor descoperi prin navigare. Pentru a partaja o aplicație implementată:
-1. Go to **Settings > Applications > Registrations** and open your app
-2. In the **Distribution** tab, click **Copy share link**
-3. Share this link with users on other workspaces — it takes them directly to the app's install page
+1. Mergi la **Setări > Aplicații > Înregistrări** și deschide aplicația ta
+2. În fila **Distribuție**, fă clic pe **Copiază linkul de partajare**
+3. Partajează acest link cu utilizatori din alte spații de lucru — îi duce direct la pagina de instalare a aplicației
-The share link uses the server's base URL (without any workspace subdomain) so it works for any workspace on the server.
+Linkul de partajare folosește URL-ul de bază al serverului (fără niciun subdomeniu de spațiu de lucru), astfel încât funcționează pentru orice spațiu de lucru de pe server.
### Gestionarea versiunilor
Pentru a lansa o actualizare:
1. Actualizează câmpul `version` din `package.json`
-2. Run `yarn twenty deploy` (or `yarn twenty deploy -r production`)
-3. Workspaces that have the app installed will see the upgrade available in their settings
+2. Rulează `yarn twenty deploy` (sau `yarn twenty deploy -r production`)
+3. Spațiile de lucru care au aplicația instalată vor vedea actualizarea disponibilă în setările lor
-## Installing apps
+## Instalarea aplicațiilor
-Once an app is published (npm) or deployed (tarball), workspaces install it through the UI:
+După ce o aplicație este publicată (npm) sau implementată (tarball), spațiile de lucru o instalează prin interfața utilizatorului (UI):
```bash filename="Terminal"
yarn twenty install
```
-Or from the **Settings > Applications** page in the Twenty UI, where both marketplace and tarball-deployed apps can be browsed and installed.
+Sau din pagina **Setări > Aplicații** din Twenty UI, unde pot fi navigate și instalate atât aplicațiile din marketplace, cât și cele implementate prin tarball.
-## App distribution categories
+## Categorii de distribuție a aplicațiilor
Twenty organizează aplicațiile în trei categorii, în funcție de modul în care sunt distribuite:
-| Categorie | Cum funcționează | Vizibilă în marketplace? |
-| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
-| **Dezvoltare** | Aplicații în modul de dezvoltare local, rulate prin `yarn twenty dev`. Folosite pentru construire și testare. | Nu |
-| **Published (npm)** | Apps published to npm with the `twenty-app` keyword. Listate în marketplace pentru ca orice spațiu de lucru să le poată instala. | Da |
-| **Internal (tarball)** | Aplicații implementate prin tarball pe un server specific. Available only to workspaces on that server via a share link. | Nu |
+| Categorie | Cum funcționează | Vizibilă în marketplace? |
+| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
+| **Dezvoltare** | Aplicații în modul de dezvoltare local, rulate prin `yarn twenty dev`. Folosite pentru construire și testare. | Nu |
+| **Publicat (npm)** | Aplicații publicate pe npm cu cuvântul cheie `twenty-app`. Listate în marketplace pentru ca orice spațiu de lucru să le poată instala. | Da |
+| **Intern (tarball)** | Aplicații implementate prin tarball pe un server specific. Disponibile doar pentru spațiile de lucru de pe acel server printr-un link de partajare. | Nu |
Pornește în modul **Dezvoltare** în timp ce îți construiești aplicația. Când este gata, alege **Publicat** (npm) pentru distribuire largă sau **Intern** (tarball) pentru implementare privată.
-## CLI reference
+## Referință CLI
-| Comandă | Descriere | Key flags |
-| --------------------------- | ---------------------------------------------- | --------------------------------------------------- |
-| `yarn twenty build` | Compile app and generate manifest | `--tarball` — also create a `.tgz` package |
-| `yarn twenty publish` | Build and publish to npm | `--tag ` — npm dist-tag (e.g., `beta`, `next`) |
-| `yarn twenty deploy` | Build and upload tarball to a server | `-r, --remote ` — target remote |
-| `yarn twenty catalog-sync` | Trigger marketplace catalog sync on the server | `-r, --remote ` — target remote |
-| `yarn twenty install` | Install a deployed app on a workspace | `-r, --remote ` — target remote |
-| `yarn twenty dev` | Watch and sync local changes | Uses default remote |
-| `yarn twenty remote add` | Add a server connection | `--url`, `--token`, `--as`, `--local`, `--port` |
-| `yarn twenty remote list` | List configured remotes | — |
-| `yarn twenty remote switch` | Set default remote | — |
-| `yarn twenty remote status` | Show connection status | — |
-| `yarn twenty remote remove` | Remove a remote | — |
+| Comandă | Descriere | Opțiuni cheie |
+| --------------------------- | ---------------------------------------------------------------- | ----------------------------------------------------- |
+| `yarn twenty build` | Compilează aplicația și generează manifestul | `--tarball` — creează și un pachet `.tgz` |
+| `yarn twenty publish` | Construiește și publică pe npm | `--tag ` — dist-tag npm (de ex., `beta`, `next`) |
+| `yarn twenty deploy` | Construiește și încarcă un tarball pe un server | `-r, --remote ` — remote țintă |
+| `yarn twenty catalog-sync` | Declanșează sincronizarea catalogului marketplace-ului pe server | `-r, --remote ` — remote țintă |
+| `yarn twenty install` | Instalează o aplicație implementată pe un spațiu de lucru | `-r, --remote ` — remote țintă |
+| `yarn twenty dev` | Monitorizează și sincronizează modificările locale | Folosește remote-ul implicit |
+| `yarn twenty remote add` | Adaugă o conexiune la server | `--url`, `--token`, `--as`, `--local`, `--port` |
+| `yarn twenty remote list` | Listează remote-urile configurate | — |
+| `yarn twenty remote switch` | Setează remote-ul implicit | — |
+| `yarn twenty remote status` | Afișează starea conexiunii | — |
+| `yarn twenty remote remove` | Elimină un remote | — |
diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started.mdx
index 8c7de64a2da..0c96527a5b8 100644
--- a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started.mdx
+++ b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started.mdx
@@ -123,7 +123,7 @@ my-twenty-app/
В общих чертах:
* **package.json**: Объявляет имя приложения, версию, движки (Node 24+, Yarn 4) и добавляет `twenty-sdk`, а также скрипт `twenty`, который делегирует выполнение локальному CLI `twenty`. Выполните `yarn twenty help`, чтобы вывести список всех доступных команд.
-* **.gitignore**: Ignores common artifacts such as `node_modules`, `.yarn`, `.twenty/`, `dist/`, `build/`, coverage folders, log files, and `.env*` files.
+* **.gitignore**: Игнорирует распространённые артефакты, такие как `node_modules`, `.yarn`, `.twenty/`, `dist/`, `build/`, каталоги coverage, файлы журналов и файлы `.env*`.
* **yarn.lock**, **.yarnrc.yml**, **.yarn/**: Фиксируют и настраивают используемый в проекте инструментарий Yarn 4.
* **.nvmrc**: Фиксирует версию Node.js, ожидаемую проектом.
* **.oxlintrc.json** и **tsconfig.json**: Обеспечивают линтинг и конфигурацию TypeScript для исходников вашего приложения на TypeScript.
@@ -167,8 +167,8 @@ export default defineObject({
Позднее команды добавят больше файлов и папок:
-* `yarn twenty dev` will auto-generate the typed `CoreApiClient` (for workspace data via `/graphql`) into `node_modules/twenty-client-sdk/`. The `MetadataApiClient` (for workspace configuration and file uploads via `/metadata`) ships pre-built and is available immediately. Import them from `twenty-client-sdk/core` and `twenty-client-sdk/metadata` respectively.
-* `yarn twenty add` will add entity definition files under `src/` for your custom objects, functions, front components, roles, skills, and more.
+* `yarn twenty dev` автоматически сгенерирует типизированный `CoreApiClient` (для данных рабочего пространства через `/graphql`) в `node_modules/twenty-client-sdk/`. `MetadataApiClient` (для конфигурации рабочего пространства и загрузки файлов через `/metadata`) поставляется в предсобранном виде и доступен сразу. Импортируйте их из `twenty-client-sdk/core` и `twenty-client-sdk/metadata` соответственно.
+* `yarn twenty add` добавит файлы определений сущностей в `src/` для ваших пользовательских объектов, функций, фронтенд-компонентов, ролей, навыков и многого другого.
## Аутентификация
diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/publishing.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/publishing.mdx
index 3d4b4ba071b..34b7bb4b8cc 100644
--- a/packages/twenty-docs/l/ru/developers/extend/apps/publishing.mdx
+++ b/packages/twenty-docs/l/ru/developers/extend/apps/publishing.mdx
@@ -24,9 +24,9 @@ description: Распространяйте своё приложение Twenty
yarn twenty build
```
-Выходные данные записываются в `.twenty/output/`. This directory contains everything needed for distribution: compiled code, assets, the manifest, and a copy of your `package.json`.
+Выходные данные записываются в `.twenty/output/`. Этот каталог содержит всё необходимое для распространения: скомпилированный код, ресурсы, манифест и копию вашего `package.json`.
-To also create a `.tgz` tarball (used by the deploy command internally, or for manual distribution):
+Чтобы также создать tarball `.tgz` (который внутренне используется командой deploy или для ручного распространения):
```bash filename="Terminal"
yarn twenty build --tarball
@@ -39,11 +39,11 @@ yarn twenty build --tarball
### Требования
* Учётная запись [npm](https://www.npmjs.com)
-* The `twenty-app` keyword **must** be listed in your `package.json` `keywords` array
+* Ключевое слово `twenty-app` **обязательно** должно быть указано в массиве `keywords` вашего `package.json`
-### Adding the required keyword
+### Добавление обязательного ключевого слова
-The Twenty marketplace discovers apps by searching the npm registry for packages with the `twenty-app` keyword. Add it to your `package.json`:
+Маркетплейс Twenty находит приложения, ища в реестре npm пакеты с ключевым словом `twenty-app`. Добавьте его в ваш `package.json`:
```json filename="package.json"
{
@@ -55,52 +55,52 @@ The Twenty marketplace discovers apps by searching the npm registry for packages
```
-The marketplace searches for `keywords:twenty-app` on the npm registry. Without this keyword, your package won't appear in the marketplace even if it has the `twenty-app-` name prefix.
+Маркетплейс ищет в реестре npm по `keywords:twenty-app`. Без этого ключевого слова ваш пакет не появится в маркетплейсе, даже если в его имени есть префикс `twenty-app-`.
### Шаги
-1. **Build your app:**
+1. **Сборка вашего приложения:**
```bash filename="Terminal"
yarn twenty build
```
-2. **Publish to npm:**
+2. **Публикация в npm:**
```bash filename="Terminal"
yarn twenty publish
```
-This runs `npm publish` from the `.twenty/output/` directory.
+Это выполняет `npm publish` из каталога `.twenty/output/`.
-To publish under a specific dist-tag (e.g., `beta` or `next`):
+Чтобы опубликовать с определённым dist-tag (например, `beta` или `next`):
```bash filename="Terminal"
yarn twenty publish --tag beta
```
-### How marketplace discovery works
+### Как работает обнаружение приложений в маркетплейсе
-The Twenty server syncs its marketplace catalog from the npm registry **every hour**:
+Сервер Twenty синхронизирует каталог маркетплейса из реестра npm **каждый час**:
-1. It searches for all npm packages with the `keywords:twenty-app` keyword
-2. For each package, it fetches the `manifest.json` from the npm CDN
-3. The app's metadata (name, description, author, logo, screenshots, category) is extracted from the manifest and displayed in the marketplace
+1. Он ищет все пакеты npm с ключевым словом `keywords:twenty-app`
+2. Для каждого пакета он извлекает `manifest.json` с CDN npm
+3. Метаданные приложения (name, description, author, logo, screenshots, category) извлекаются из манифеста и отображаются в маркетплейсе
-After publishing, your app can take up to one hour to appear in the marketplace. To trigger the sync immediately instead of waiting for the next hourly run:
+После публикации может пройти до одного часа, прежде чем ваше приложение появится в маркетплейсе. Чтобы запустить синхронизацию немедленно, не дожидаясь следующего почасового запуска:
```bash filename="Terminal"
yarn twenty catalog-sync
```
-To target a specific remote:
+Чтобы указать конкретный remote:
```bash filename="Terminal"
yarn twenty catalog-sync -r production
```
-The metadata shown in the marketplace comes from your `defineApplication()` call in your app source code — fields like `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl`, and `termsUrl`.
+Метаданные, отображаемые в маркетплейсе, берутся из вызова `defineApplication()` в исходном коде вашего приложения — из таких полей, как `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl` и `termsUrl`.
### Публикация через CI
@@ -133,39 +133,39 @@ jobs:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
```
-For other CI systems (GitLab CI, CircleCI, etc.), the same three commands apply: `yarn install`, `yarn twenty build`, then `npm publish` from `.twenty/output`.
+Для других CI-систем (GitLab CI, CircleCI и др.) применимы те же три команды: `yarn install`, `yarn twenty build`, затем `npm publish` из `.twenty/output`.
**npm provenance** — опционально, но рекомендуется. Публикация с флагом `--provenance` добавляет к вашему пакету в npm значок доверия, позволяя пользователям проверить, что пакет был собран из конкретного коммита в общедоступном конвейере CI. См. инструкции по настройке в [документации по npm provenance](https://docs.npmjs.com/generating-provenance-statements).
-## Deploying to a server (tarball)
+## Развертывание на сервер (tarball)
-For apps you don't want publicly available — proprietary tools, enterprise-only integrations, or experimental builds — you can deploy a tarball directly to a Twenty server.
+Для приложений, которые вы не хотите делать общедоступными — собственные инструменты, интеграции только для предприятий или экспериментальные сборки — вы можете развернуть tarball напрямую на сервер Twenty.
### Требования
-Before deploying, you need a configured remote pointing to the target server. Remotes store the server URL and authentication credentials locally in `~/.twenty/config.json`.
+Перед развертыванием вам нужен настроенный remote, указывающий на целевой сервер. Remotes локально хранят URL сервера и учётные данные аутентификации в `~/.twenty/config.json`.
-Add a remote:
+Добавьте remote:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --as production
```
-For a local development server:
+Для локального сервера разработки:
```bash filename="Terminal"
yarn twenty remote add --local --as local
```
-You can also authenticate with an API key for non-interactive environments:
+Вы также можете аутентифицироваться с помощью API-ключа в неинтерактивных средах:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --token --as production
```
-Manage your remotes:
+Управляйте remotes:
```bash filename="Terminal"
yarn twenty remote list # List all configured remotes
@@ -174,76 +174,76 @@ yarn twenty remote status # Show active remote and auth status
yarn twenty remote remove old # Remove a remote
```
-### Deploying
+### Развертывание
-Build and upload your app to the server in one step:
+Соберите и загрузите ваше приложение на сервер в одном шаге:
```bash filename="Terminal"
yarn twenty deploy
```
-This builds the app with `--tarball`, then uploads the tarball to the default remote via a GraphQL multipart upload.
+Это собирает приложение с флагом `--tarball`, затем загружает tarball на remote по умолчанию через GraphQL multipart upload.
-To deploy to a specific remote:
+Чтобы развернуть на конкретный remote:
```bash filename="Terminal"
yarn twenty deploy -r production
```
-### Sharing a deployed app
+### Общий доступ к развернутому приложению
-Tarball apps are not listed in the public marketplace, so other workspaces on the same server won't discover them by browsing. To share a deployed app:
+Приложения в формате tarball не отображаются в публичном маркетплейсе, поэтому другие рабочие пространства на том же сервере не найдут их при просмотре. Чтобы поделиться развернутым приложением:
-1. Go to **Settings > Applications > Registrations** and open your app
-2. In the **Distribution** tab, click **Copy share link**
-3. Share this link with users on other workspaces — it takes them directly to the app's install page
+1. Перейдите в **Настройки > Приложения > Регистрации** и откройте ваше приложение
+2. На вкладке **Распространение** нажмите **Копировать ссылку для общего доступа**
+3. Поделитесь этой ссылкой с пользователями в других рабочих пространствах — она ведёт их прямо на страницу установки приложения
-The share link uses the server's base URL (without any workspace subdomain) so it works for any workspace on the server.
+Ссылка общего доступа использует базовый URL сервера (без какого-либо поддомена рабочего пространства), поэтому она работает для любого рабочего пространства на сервере.
### Управление версиями
Чтобы выпустить обновление:
1. Обновите значение поля `version` в файле `package.json`
-2. Run `yarn twenty deploy` (or `yarn twenty deploy -r production`)
-3. Workspaces that have the app installed will see the upgrade available in their settings
+2. Выполните `yarn twenty deploy` (или `yarn twenty deploy -r production`)
+3. Рабочие пространства, в которых установлено приложение, увидят доступное обновление в своих настройках
-## Installing apps
+## Установка приложений
-Once an app is published (npm) or deployed (tarball), workspaces install it through the UI:
+После публикации приложения (npm) или его развертывания (tarball) рабочие пространства устанавливают его через интерфейс:
```bash filename="Terminal"
yarn twenty install
```
-Or from the **Settings > Applications** page in the Twenty UI, where both marketplace and tarball-deployed apps can be browsed and installed.
+Или со страницы **Настройки > Приложения** в интерфейсе Twenty, где можно просматривать и устанавливать как приложения из маркетплейса, так и развернутые через tarball.
-## App distribution categories
+## Категории распространения приложений
Twenty группирует приложения в три категории в зависимости от способа их распространения:
-| Категория | Как это работает | Отображается в маркетплейсе? |
-| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
-| **Разработка** | Локальные приложения в режиме разработки, запущенные через `yarn twenty dev`. Используются для сборки и тестирования. | Нет |
-| **Published (npm)** | Apps published to npm with the `twenty-app` keyword. Отображаются в маркетплейсе, доступные для установки любому рабочему пространству. | Да |
-| **Internal (tarball)** | Приложения, развернутые через tarball на конкретном сервере. Available only to workspaces on that server via a share link. | Нет |
+| Категория | Как это работает | Отображается в маркетплейсе? |
+| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
+| **Разработка** | Локальные приложения в режиме разработки, запущенные через `yarn twenty dev`. Используются для сборки и тестирования. | Нет |
+| **Опубликовано (npm)** | Приложения, опубликованные в npm с ключевым словом `twenty-app`. Отображаются в маркетплейсе, доступные для установки любому рабочему пространству. | Да |
+| **Внутренние (tarball)** | Приложения, развернутые через tarball на конкретном сервере. Доступны только рабочим пространствам на этом сервере по ссылке общего доступа. | Нет |
Начните в режиме **Разработка** во время создания приложения. Когда будет готово, выберите **Опубликовано** (npm) для широкого распространения или **Внутренний** (tarball) для приватного развертывания.
-## CLI reference
+## Справочник по CLI
-| Команда | Описание | Key flags |
-| --------------------------- | ---------------------------------------------- | --------------------------------------------------- |
-| `yarn twenty build` | Compile app and generate manifest | `--tarball` — also create a `.tgz` package |
-| `yarn twenty publish` | Build and publish to npm | `--tag ` — npm dist-tag (e.g., `beta`, `next`) |
-| `yarn twenty deploy` | Build and upload tarball to a server | `-r, --remote ` — target remote |
-| `yarn twenty catalog-sync` | Trigger marketplace catalog sync on the server | `-r, --remote ` — target remote |
-| `yarn twenty install` | Install a deployed app on a workspace | `-r, --remote ` — target remote |
-| `yarn twenty dev` | Watch and sync local changes | Uses default remote |
-| `yarn twenty remote add` | Add a server connection | `--url`, `--token`, `--as`, `--local`, `--port` |
-| `yarn twenty remote list` | List configured remotes | — |
-| `yarn twenty remote switch` | Set default remote | — |
-| `yarn twenty remote status` | Show connection status | — |
-| `yarn twenty remote remove` | Remove a remote | — |
+| Команда | Описание | Основные флаги |
+| --------------------------- | -------------------------------------------------------- | ------------------------------------------------------- |
+| `yarn twenty build` | Скомпилировать приложение и сгенерировать манифест | `--tarball` — также создать пакет `.tgz` |
+| `yarn twenty publish` | Собрать и опубликовать в npm | `--tag ` — dist-tag npm (например, `beta`, `next`) |
+| `yarn twenty deploy` | Собрать и загрузить tarball на сервер | `-r, --remote ` — целевой remote |
+| `yarn twenty catalog-sync` | Запустить на сервере синхронизацию каталога маркетплейса | `-r, --remote ` — целевой remote |
+| `yarn twenty install` | Установить развернутое приложение в рабочем пространстве | `-r, --remote ` — целевой remote |
+| `yarn twenty dev` | Отслеживать и синхронизировать локальные изменения | Использует remote по умолчанию |
+| `yarn twenty remote add` | Добавить подключение к серверу | `--url`, `--token`, `--as`, `--local`, `--port` |
+| `yarn twenty remote list` | Показать настроенные remotes | — |
+| `yarn twenty remote switch` | Установить remote по умолчанию | — |
+| `yarn twenty remote status` | Показать статус подключения | — |
+| `yarn twenty remote remove` | Удалить remote | — |
diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started.mdx
index 5ed25760192..8526ddf96e5 100644
--- a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started.mdx
+++ b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started.mdx
@@ -123,7 +123,7 @@ my-twenty-app/
Genel hatlarıyla:
* **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**: Ignores common artifacts such as `node_modules`, `.yarn`, `.twenty/`, `dist/`, `build/`, coverage folders, log files, and `.env*` files.
+* **.gitignore**: `node_modules`, `.yarn`, `.twenty/`, `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.
* **.oxlintrc.json** ve **tsconfig.json**: Uygulamanızın TypeScript kaynakları için linting ve TypeScript yapılandırması sağlar.
@@ -167,8 +167,8 @@ export default defineObject({
İlerideki komutlar daha fazla dosya ve klasör ekleyecektir:
-* `yarn twenty dev` will auto-generate the typed `CoreApiClient` (for workspace data via `/graphql`) into `node_modules/twenty-client-sdk/`. The `MetadataApiClient` (for workspace configuration and file uploads via `/metadata`) ships pre-built and is available immediately. Import them from `twenty-client-sdk/core` and `twenty-client-sdk/metadata` respectively.
-* `yarn twenty add` will add entity definition files under `src/` for your custom objects, functions, front components, roles, skills, and more.
+* `yarn twenty dev`, türlendirilmiş `CoreApiClient`'i (çalışma alanı verileri için `/graphql` aracılığıyla) `node_modules/twenty-client-sdk/` içine otomatik olarak oluşturur. `MetadataApiClient` (çalışma alanı yapılandırması ve dosya yüklemeleri için `/metadata` aracılığıyla) önceden derlenmiş olarak gelir ve hemen kullanılabilir. Bunları sırasıyla `twenty-client-sdk/core` ve `twenty-client-sdk/metadata` içinden içe aktarın.
+* `yarn twenty add`, özel nesneleriniz, fonksiyonlarınız, ön bileşenleriniz, rolleriniz, yetenekleriniz ve daha fazlası için `src/` altında varlık tanım dosyaları ekler.
## Kimlik Doğrulama
diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/publishing.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/publishing.mdx
index 21aa0297f1a..0b8dea60e35 100644
--- a/packages/twenty-docs/l/tr/developers/extend/apps/publishing.mdx
+++ b/packages/twenty-docs/l/tr/developers/extend/apps/publishing.mdx
@@ -24,9 +24,9 @@ Her iki yol da aynı **build** adımından başlar.
yarn twenty build
```
-Çıktı `.twenty/output/` dizinine yazılır. This directory contains everything needed for distribution: compiled code, assets, the manifest, and a copy of your `package.json`.
+Çıktı `.twenty/output/` dizinine yazılır. Bu dizin, dağıtım için gereken her şeyi içerir: derlenmiş kod, varlıklar, manifest ve `package.json` dosyanızın bir kopyası.
-To also create a `.tgz` tarball (used by the deploy command internally, or for manual distribution):
+Ayrıca bir `.tgz` tarball oluşturmak için (deploy komutu tarafından dahili olarak kullanılır veya el ile dağıtım için):
```bash filename="Terminal"
yarn twenty build --tarball
@@ -39,11 +39,11 @@ npm’ye yayımlamak, uygulamanızın Twenty pazaryerinde keşfedilebilir olmas
### Gereksinimler
* Bir [npm](https://www.npmjs.com) hesabı
-* The `twenty-app` keyword **must** be listed in your `package.json` `keywords` array
+* `twenty-app` anahtar kelimesi `package.json` dosyanızdaki `keywords` dizisinde **mutlaka** listelenmelidir
-### Adding the required keyword
+### Gerekli anahtar kelimeyi ekleme
-The Twenty marketplace discovers apps by searching the npm registry for packages with the `twenty-app` keyword. Add it to your `package.json`:
+Twenty pazar yeri, npm kayıt defterinde `twenty-app` anahtar kelimesine sahip paketleri arayarak uygulamaları keşfeder. Bunu `package.json` dosyanıza ekleyin:
```json filename="package.json"
{
@@ -55,52 +55,52 @@ The Twenty marketplace discovers apps by searching the npm registry for packages
```
-The marketplace searches for `keywords:twenty-app` on the npm registry. Without this keyword, your package won't appear in the marketplace even if it has the `twenty-app-` name prefix.
+Pazar yeri, npm kayıt defterinde `keywords:twenty-app` araması yapar. Bu anahtar kelime olmadan, adında `twenty-app-` öneki bulunsa bile paketiniz pazar yerinde görünmez.
### Adımlar
-1. **Build your app:**
+1. **Uygulamanızı derleyin:**
```bash filename="Terminal"
yarn twenty build
```
-2. **Publish to npm:**
+2. **npm’ye yayımlayın:**
```bash filename="Terminal"
yarn twenty publish
```
-This runs `npm publish` from the `.twenty/output/` directory.
+Bu, `.twenty/output/` dizininden `npm publish` komutunu çalıştırır.
-To publish under a specific dist-tag (e.g., `beta` or `next`):
+Belirli bir dist-tag altında yayımlamak için (ör. `beta` veya `next`):
```bash filename="Terminal"
yarn twenty publish --tag beta
```
-### How marketplace discovery works
+### Pazar yerinde keşif nasıl çalışır
-The Twenty server syncs its marketplace catalog from the npm registry **every hour**:
+Twenty sunucusu pazar yeri kataloğunu npm kayıt defterinden **her saat** eşitler:
-1. It searches for all npm packages with the `keywords:twenty-app` keyword
-2. For each package, it fetches the `manifest.json` from the npm CDN
-3. The app's metadata (name, description, author, logo, screenshots, category) is extracted from the manifest and displayed in the marketplace
+1. `keywords:twenty-app` anahtar kelimesine sahip tüm npm paketlerini arar
+2. Her paket için `manifest.json` dosyasını npm CDN’inden getirir
+3. Uygulamanın meta verileri (ad, açıklama, yazar, logo, ekran görüntüleri, kategori) manifest dosyasından çıkarılır ve pazar yerinde görüntülenir
-After publishing, your app can take up to one hour to appear in the marketplace. To trigger the sync immediately instead of waiting for the next hourly run:
+Yayımladıktan sonra, uygulamanızın pazar yerinde görünmesi bir saate kadar sürebilir. Bir sonraki saatlik çalışmayı beklemek yerine eşitlemeyi hemen tetiklemek için:
```bash filename="Terminal"
yarn twenty catalog-sync
```
-To target a specific remote:
+Belirli bir remote’u hedeflemek için:
```bash filename="Terminal"
yarn twenty catalog-sync -r production
```
-The metadata shown in the marketplace comes from your `defineApplication()` call in your app source code — fields like `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl`, and `termsUrl`.
+Pazar yerinde gösterilen meta veriler, uygulamanızın kaynak kodundaki `defineApplication()` çağrısından gelir — `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl` ve `termsUrl` gibi alanlar.
### CI üzerinden yayımlama
@@ -133,39 +133,39 @@ jobs:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
```
-For other CI systems (GitLab CI, CircleCI, etc.), the same three commands apply: `yarn install`, `yarn twenty build`, then `npm publish` from `.twenty/output`.
+Diğer CI sistemleri (GitLab CI, CircleCI, vb.) için de aynı üç komut geçerlidir: `yarn install`, `yarn twenty build` ve ardından `.twenty/output` dizininden `npm publish`.
**npm provenance** isteğe bağlıdır ancak önerilir. `--provenance` ile yayımlamak, npm listenize bir güven rozeti ekler ve kullanıcıların paketin herkese açık bir CI ardışık düzenindeki belirli bir commit’ten oluşturulduğunu doğrulamasını sağlar. Kurulum talimatları için [npm provenance belgelerine](https://docs.npmjs.com/generating-provenance-statements) bakın.
-## Deploying to a server (tarball)
+## Sunucuya dağıtım (tarball)
-For apps you don't want publicly available — proprietary tools, enterprise-only integrations, or experimental builds — you can deploy a tarball directly to a Twenty server.
+Genel kullanıma açık olmasını istemediğiniz uygulamalar — sahipli araçlar, yalnızca kurumsal entegrasyonlar veya deneysel derlemeler — için bir tarball’ı doğrudan bir Twenty sunucusuna dağıtabilirsiniz.
### Ön Gereksinimler
-Before deploying, you need a configured remote pointing to the target server. Remotes store the server URL and authentication credentials locally in `~/.twenty/config.json`.
+Dağıtmadan önce, hedef sunucuyu işaret eden yapılandırılmış bir remote’a ihtiyacınız vardır. Remote’lar sunucu URL’sini ve kimlik doğrulama bilgilerini yerel olarak `~/.twenty/config.json` içinde saklar.
-Add a remote:
+Bir remote ekleyin:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --as production
```
-For a local development server:
+Yerel bir geliştirme sunucusu için:
```bash filename="Terminal"
yarn twenty remote add --local --as local
```
-You can also authenticate with an API key for non-interactive environments:
+Etkileşimli olmayan ortamlar için bir API anahtarıyla da kimlik doğrulayabilirsiniz:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --token --as production
```
-Manage your remotes:
+Remote’larınızı yönetin:
```bash filename="Terminal"
yarn twenty remote list # List all configured remotes
@@ -174,76 +174,76 @@ yarn twenty remote status # Show active remote and auth status
yarn twenty remote remove old # Remove a remote
```
-### Deploying
+### Dağıtım
-Build and upload your app to the server in one step:
+Uygulamanızı tek adımda derleyip sunucuya yükleyin:
```bash filename="Terminal"
yarn twenty deploy
```
-This builds the app with `--tarball`, then uploads the tarball to the default remote via a GraphQL multipart upload.
+Bu, uygulamayı `--tarball` ile derler ve ardından tarball’ı varsayılan remote’a GraphQL çok parçalı yükleme ile yükler.
-To deploy to a specific remote:
+Belirli bir remote’a dağıtmak için:
```bash filename="Terminal"
yarn twenty deploy -r production
```
-### Sharing a deployed app
+### Dağıtılmış bir uygulamayı paylaşma
-Tarball apps are not listed in the public marketplace, so other workspaces on the same server won't discover them by browsing. To share a deployed app:
+Tarball uygulamaları genel pazar yerinde listelenmez; bu nedenle aynı sunucudaki diğer çalışma alanları gezinerek onları keşfedemez. Dağıtılmış bir uygulamayı paylaşmak için:
-1. Go to **Settings > Applications > Registrations** and open your app
-2. In the **Distribution** tab, click **Copy share link**
-3. Share this link with users on other workspaces — it takes them directly to the app's install page
+1. **Ayarlar > Uygulamalar > Kayıtlar** bölümüne gidin ve uygulamanızı açın
+2. **Dağıtım** sekmesinde, **Paylaşım bağlantısını kopyala**’ya tıklayın
+3. Bu bağlantıyı diğer çalışma alanlarındaki kullanıcılarla paylaşın — onları doğrudan uygulamanın yükleme sayfasına götürür
-The share link uses the server's base URL (without any workspace subdomain) so it works for any workspace on the server.
+Paylaşım bağlantısı, sunucunun temel URL’sini (herhangi bir çalışma alanı alt alan adı olmadan) kullanır; böylece sunucudaki herhangi bir çalışma alanı için çalışır.
### Sürüm yönetimi
Bir güncelleme yayımlamak için:
1. `package.json` içindeki `version` alanını artırın
-2. Run `yarn twenty deploy` (or `yarn twenty deploy -r production`)
-3. Workspaces that have the app installed will see the upgrade available in their settings
+2. `yarn twenty deploy` (veya `yarn twenty deploy -r production`) komutunu çalıştırın
+3. Uygulamayı kurmuş olan çalışma alanları, ayarlarında mevcut güncellemeyi görecektir
-## Installing apps
+## Uygulamaları yükleme
-Once an app is published (npm) or deployed (tarball), workspaces install it through the UI:
+Bir uygulama yayımlandığında (npm) veya dağıtıldığında (tarball), çalışma alanları onu kullanıcı arayüzü (UI) aracılığıyla yükler:
```bash filename="Terminal"
yarn twenty install
```
-Or from the **Settings > Applications** page in the Twenty UI, where both marketplace and tarball-deployed apps can be browsed and installed.
+Veya Twenty kullanıcı arayüzündeki **Ayarlar > Uygulamalar** sayfasından; burada hem pazar yerindeki hem de tarball ile dağıtılmış uygulamalar görüntülenip yüklenebilir.
-## App distribution categories
+## Uygulama dağıtım kategorileri
Twenty, uygulamaları nasıl dağıtıldıklarına göre üç kategoriye ayırır:
-| Kategori | Nasıl Çalışır | Pazaryerinde görünür mü? |
-| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
-| **Geliştirme** | `yarn twenty dev` ile çalışan yerel geliştirme modu uygulamaları. Derleme ve test için kullanılır. | Hayır |
-| **Published (npm)** | Apps published to npm with the `twenty-app` keyword. Herhangi bir çalışma alanının yükleyebilmesi için pazaryerinde listelenir. | Evet |
-| **Internal (tarball)** | Bir tarball aracılığıyla belirli bir sunucuya dağıtılan uygulamalar. Available only to workspaces on that server via a share link. | Hayır |
+| Kategori | Nasıl Çalışır | Pazaryerinde görünür mü? |
+| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
+| **Geliştirme** | `yarn twenty dev` ile çalışan yerel geliştirme modu uygulamaları. Derleme ve test için kullanılır. | Hayır |
+| **Yayımlanmış (npm)** | `twenty-app` anahtar kelimesiyle npm’ye yayımlanan uygulamalar. Herhangi bir çalışma alanının yükleyebilmesi için pazaryerinde listelenir. | Evet |
+| **Dahili (tarball)** | Bir tarball aracılığıyla belirli bir sunucuya dağıtılan uygulamalar. Yalnızca o sunucudaki çalışma alanları için bir paylaşım bağlantısı aracılığıyla kullanılabilir. | Hayır |
Uygulamanızı geliştirirken **Geliştirme** modunda başlayın. Hazır olduğunda, geniş dağıtım için **Yayımlanmış** (npm) ya da özel dağıtım için **Dahili** (tarball) seçeneğini tercih edin.
-## CLI reference
+## CLI başvurusu
-| Komut | Açıklama | Key flags |
-| --------------------------- | ---------------------------------------------- | --------------------------------------------------- |
-| `yarn twenty build` | Compile app and generate manifest | `--tarball` — also create a `.tgz` package |
-| `yarn twenty publish` | Build and publish to npm | `--tag ` — npm dist-tag (e.g., `beta`, `next`) |
-| `yarn twenty deploy` | Build and upload tarball to a server | `-r, --remote ` — target remote |
-| `yarn twenty catalog-sync` | Trigger marketplace catalog sync on the server | `-r, --remote ` — target remote |
-| `yarn twenty install` | Install a deployed app on a workspace | `-r, --remote ` — target remote |
-| `yarn twenty dev` | Watch and sync local changes | Uses default remote |
-| `yarn twenty remote add` | Add a server connection | `--url`, `--token`, `--as`, `--local`, `--port` |
-| `yarn twenty remote list` | List configured remotes | — |
-| `yarn twenty remote switch` | Set default remote | — |
-| `yarn twenty remote status` | Show connection status | — |
-| `yarn twenty remote remove` | Remove a remote | — |
+| Komut | Açıklama | Temel bayraklar |
+| --------------------------- | --------------------------------------------------- | -------------------------------------------------- |
+| `yarn twenty build` | Uygulamayı derleyin ve manifest oluşturun | `--tarball` — ayrıca bir `.tgz` paket oluşturur |
+| `yarn twenty publish` | Derleyin ve npm’ye yayımlayın | `--tag ` — npm dist-tag (örn. `beta`, `next`) |
+| `yarn twenty deploy` | Derleyin ve tarball’ı bir sunucuya yükleyin | `-r, --remote ` — hedef remote |
+| `yarn twenty catalog-sync` | Sunucuda pazar yeri katalog eşitlemesini tetikleyin | `-r, --remote ` — hedef remote |
+| `yarn twenty install` | Dağıtılmış bir uygulamayı bir çalışma alanına kurun | `-r, --remote ` — hedef remote |
+| `yarn twenty dev` | Yerel değişiklikleri izleyin ve eşitleyin | Varsayılan remote’u kullanır |
+| `yarn twenty remote add` | Bir sunucu bağlantısı ekleyin | `--url`, `--token`, `--as`, `--local`, `--port` |
+| `yarn twenty remote list` | Yapılandırılmış remote’ları listeleyin | — |
+| `yarn twenty remote switch` | Varsayılan remote’u ayarlayın | — |
+| `yarn twenty remote status` | Bağlantı durumunu gösterin | — |
+| `yarn twenty remote remove` | Bir remote’u kaldırın | — |
diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started.mdx
index e91e1cb32ff..b42700dd93a 100644
--- a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started.mdx
+++ b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started.mdx
@@ -123,7 +123,7 @@ my-twenty-app/
总体来说:
* **package.json**:声明应用名称、版本、引擎(Node 24+、Yarn 4),并添加 `twenty-sdk` 以及一个 `twenty` 脚本,该脚本会委托给本地的 `twenty` CLI。 运行 `yarn twenty help` 以列出所有可用命令。
-* **.gitignore**: Ignores common artifacts such as `node_modules`, `.yarn`, `.twenty/`, `dist/`, `build/`, coverage folders, log files, and `.env*` files.
+* **.gitignore**:忽略常见产物,如 `node_modules`、`.yarn`、`.twenty/`、`dist/`、`build/`、覆盖率文件夹、日志文件以及 `.env*` 文件。
* **yarn.lock**、**.yarnrc.yml**、**.yarn/**:锁定并配置项目使用的 Yarn 4 工具链。
* **.nvmrc**:固定项目期望的 Node.js 版本。
* **.oxlintrc.json** 和 **tsconfig.json**:为应用的 TypeScript 源码提供 Lint 与 TypeScript 配置。
@@ -167,8 +167,8 @@ export default defineObject({
后续命令将添加更多文件和文件夹:
-* `yarn twenty dev` will auto-generate the typed `CoreApiClient` (for workspace data via `/graphql`) into `node_modules/twenty-client-sdk/`. The `MetadataApiClient` (for workspace configuration and file uploads via `/metadata`) ships pre-built and is available immediately. Import them from `twenty-client-sdk/core` and `twenty-client-sdk/metadata` respectively.
-* `yarn twenty add` will add entity definition files under `src/` for your custom objects, functions, front components, roles, skills, and more.
+* `yarn twenty dev` 会自动生成类型化的 `CoreApiClient`(通过 `/graphql` 获取工作区数据),并写入 `node_modules/twenty-client-sdk/`。 `MetadataApiClient`(通过 `/metadata` 处理工作区配置和文件上传)为预构建版本,可立即使用。 分别从 `twenty-client-sdk/core` 和 `twenty-client-sdk/metadata` 导入它们。
+* `yarn twenty add` 会在 `src/` 下为你的自定义对象、函数、前端组件、角色、技能等添加实体定义文件。
## 身份验证
diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/publishing.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/publishing.mdx
index 333741e933a..f016e8f6c8c 100644
--- a/packages/twenty-docs/l/zh/developers/extend/apps/publishing.mdx
+++ b/packages/twenty-docs/l/zh/developers/extend/apps/publishing.mdx
@@ -24,9 +24,9 @@ description: 将你的 Twenty 应用分发到应用市场,或进行内部部
yarn twenty build
```
-输出将写入 `.twenty/output/`。 This directory contains everything needed for distribution: compiled code, assets, the manifest, and a copy of your `package.json`.
+输出将写入 `.twenty/output/`。 此目录包含分发所需的一切:已编译的代码、资源、清单,以及你的 `package.json` 副本。
-To also create a `.tgz` tarball (used by the deploy command internally, or for manual distribution):
+要同时创建一个 `.tgz` 压缩包(由部署命令在内部使用,或用于手动分发):
```bash filename="Terminal"
yarn twenty build --tarball
@@ -39,11 +39,11 @@ yarn twenty build --tarball
### 要求
* 一个 [npm](https://www.npmjs.com) 账户
-* The `twenty-app` keyword **must** be listed in your `package.json` `keywords` array
+* 在你的 `package.json` 的 `keywords` 数组中**必须**包含 `twenty-app` 关键字
-### Adding the required keyword
+### 添加所需关键字
-The Twenty marketplace discovers apps by searching the npm registry for packages with the `twenty-app` keyword. Add it to your `package.json`:
+Twenty 市场通过在 npm 注册表中搜索带有 `twenty-app` 关键字的包来发现应用。 将其添加到你的 `package.json`:
```json filename="package.json"
{
@@ -55,56 +55,56 @@ The Twenty marketplace discovers apps by searching the npm registry for packages
```
-The marketplace searches for `keywords:twenty-app` on the npm registry. Without this keyword, your package won't appear in the marketplace even if it has the `twenty-app-` name prefix.
+该市场会在 npm 注册表中搜索 `keywords:twenty-app`。 没有此关键字,即使包名带有 `twenty-app-` 前缀,你的包也不会出现在市场中。
### 步骤
-1. **Build your app:**
+1. **构建你的应用:**
```bash filename="Terminal"
yarn twenty build
```
-2. **Publish to npm:**
+2. **发布到 npm:**
```bash filename="Terminal"
yarn twenty publish
```
-This runs `npm publish` from the `.twenty/output/` directory.
+这会在 `.twenty/output/` 目录下运行 `npm publish`。
-To publish under a specific dist-tag (e.g., `beta` or `next`):
+要在特定的 dist-tag(例如 `beta` 或 `next`)下发布:
```bash filename="Terminal"
yarn twenty publish --tag beta
```
-### How marketplace discovery works
+### 应用市场的发现机制如何运作
-The Twenty server syncs its marketplace catalog from the npm registry **every hour**:
+Twenty 服务器会**每小时**从 npm 注册表同步其市场目录:
-1. It searches for all npm packages with the `keywords:twenty-app` keyword
-2. For each package, it fetches the `manifest.json` from the npm CDN
-3. The app's metadata (name, description, author, logo, screenshots, category) is extracted from the manifest and displayed in the marketplace
+1. 它会搜索所有带有 `keywords:twenty-app` 关键字的 npm 包
+2. 对于每个包,它会从 npm CDN 获取 `manifest.json`
+3. 应用的元数据(名称、描述、作者、徽标、屏幕截图、类别)将从清单中提取,并显示在市场中
-After publishing, your app can take up to one hour to appear in the marketplace. To trigger the sync immediately instead of waiting for the next hourly run:
+发布后,你的应用最多可能需要一小时才会出现在市场中。 要立即触发同步,而无需等待下一次每小时同步:
```bash filename="Terminal"
yarn twenty catalog-sync
```
-To target a specific remote:
+要指定特定的远程:
```bash filename="Terminal"
yarn twenty catalog-sync -r production
```
-The metadata shown in the marketplace comes from your `defineApplication()` call in your app source code — fields like `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl`, and `termsUrl`.
+市场中显示的元数据来自你在应用源代码中调用的 `defineApplication()` —— 诸如 `displayName`、`description`、`author`、`category`、`logoUrl`、`screenshots`、`aboutDescription`、`websiteUrl` 和 `termsUrl` 等字段。
### CI 发布
-The scaffolded project includes a GitHub Actions workflow that publishes on every release:
+脚手架项目包含一个 GitHub Actions 工作流,会在每次发版时自动发布:
```yaml filename=".github/workflows/publish.yml"
name: Publish
@@ -133,39 +133,39 @@ jobs:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
```
-For other CI systems (GitLab CI, CircleCI, etc.), the same three commands apply: `yarn install`, `yarn twenty build`, then `npm publish` from `.twenty/output`.
+对于其他 CI 系统(GitLab CI、CircleCI 等),同样适用以下三条命令:`yarn install`、`yarn twenty build`,然后在 `.twenty/output` 目录下执行 `npm publish`。
**npm provenance** 可选,但建议启用。 使用 `--provenance` 发布会在你的 npm 列表中添加可信徽章,使用户可以验证该包是由公共 CI 流水线中的特定提交构建的。 有关设置说明,请参见 [npm provenance 文档](https://docs.npmjs.com/generating-provenance-statements)。
-## Deploying to a server (tarball)
+## 部署到服务器(tar 包)
-For apps you don't want publicly available — proprietary tools, enterprise-only integrations, or experimental builds — you can deploy a tarball directly to a Twenty server.
+对于你不希望公开的应用(专有工具、仅供企业使用的集成或实验性构建),你可以将 tar 包直接部署到某台 Twenty 服务器。
### 先决条件
-Before deploying, you need a configured remote pointing to the target server. Remotes store the server URL and authentication credentials locally in `~/.twenty/config.json`.
+在部署之前,你需要配置一个指向目标服务器的远程。 远程会将服务器 URL 和身份验证凭据本地存储在 `~/.twenty/config.json` 中。
-Add a remote:
+添加远程:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --as production
```
-For a local development server:
+对于本地开发服务器:
```bash filename="Terminal"
yarn twenty remote add --local --as local
```
-You can also authenticate with an API key for non-interactive environments:
+对于非交互式环境,你也可以使用 API 密钥进行身份验证:
```bash filename="Terminal"
yarn twenty remote add --url https://your-twenty-server.com --token --as production
```
-Manage your remotes:
+管理你的远程:
```bash filename="Terminal"
yarn twenty remote list # List all configured remotes
@@ -174,76 +174,76 @@ yarn twenty remote status # Show active remote and auth status
yarn twenty remote remove old # Remove a remote
```
-### Deploying
+### 部署
-Build and upload your app to the server in one step:
+一步构建并将你的应用上传到服务器:
```bash filename="Terminal"
yarn twenty deploy
```
-This builds the app with `--tarball`, then uploads the tarball to the default remote via a GraphQL multipart upload.
+这会使用 `--tarball` 构建应用,然后通过 GraphQL 多部分上传将该 tar 包上传到默认远程。
-To deploy to a specific remote:
+部署到特定远程:
```bash filename="Terminal"
yarn twenty deploy -r production
```
-### Sharing a deployed app
+### 共享已部署的应用
-Tarball apps are not listed in the public marketplace, so other workspaces on the same server won't discover them by browsing. To share a deployed app:
+通过 tar 包分发的应用不会出现在公共市场中,因此同一服务器上的其他工作区无法通过浏览发现它们。 要共享已部署的应用:
-1. Go to **Settings > Applications > Registrations** and open your app
-2. In the **Distribution** tab, click **Copy share link**
-3. Share this link with users on other workspaces — it takes them directly to the app's install page
+1. 前往 **Settings > Applications > Registrations** 并打开你的应用
+2. 在 **Distribution** 选项卡中,点击 **Copy share link**
+3. 将此链接分享给其他工作区的用户 — 它会将他们直接带到该应用的安装页面
-The share link uses the server's base URL (without any workspace subdomain) so it works for any workspace on the server.
+该分享链接使用服务器的基础 URL(不包含任何工作区子域),因此适用于该服务器上的任意工作区。
### 版本管理
要发布更新:
1. 更新 `package.json` 中的 `version` 字段
-2. Run `yarn twenty deploy` (or `yarn twenty deploy -r production`)
-3. Workspaces that have the app installed will see the upgrade available in their settings
+2. 运行 `yarn twenty deploy`(或 `yarn twenty deploy -r production`)
+3. 已安装该应用的工作区会在其设置中看到可用的升级
-## Installing apps
+## 安装应用
-Once an app is published (npm) or deployed (tarball), workspaces install it through the UI:
+一旦应用已发布(npm)或已部署(tar 包),各工作区即可通过 UI 进行安装:
```bash filename="Terminal"
yarn twenty install
```
-Or from the **Settings > Applications** page in the Twenty UI, where both marketplace and tarball-deployed apps can be browsed and installed.
+或者在 Twenty UI 的 **Settings > Applications** 页面中浏览并安装来自市场或通过 tar 包部署的应用。
-## App distribution categories
+## 应用分发类别
Twenty 会根据分发方式将应用归为三类:
-| 类别 | 工作原理 | 在应用市场中可见? |
-| ---------------------- | ---------------------------------------------------------------------------------- | --------- |
-| **开发** | 通过 `yarn twenty dev` 运行的本地开发模式应用。 用于构建和测试。 | 否 |
-| **Published (npm)** | Apps published to npm with the `twenty-app` keyword. 在应用市场上架,供任何工作区安装。 | 是 |
-| **Internal (tarball)** | 通过 tar 包部署到特定服务器的应用。 Available only to workspaces on that server via a share link. | 否 |
+| 类别 | 工作原理 | 在应用市场中可见? |
+| ------------- | -------------------------------------------------- | --------- |
+| **开发** | 通过 `yarn twenty dev` 运行的本地开发模式应用。 用于构建和测试。 | 否 |
+| **已发布(npm)** | 发布到 npm 且包含 `twenty-app` 关键字的应用。 在应用市场上架,供任何工作区安装。 | 是 |
+| **内部(tar 包)** | 通过 tar 包部署到特定服务器的应用。 仅通过分享链接对该服务器上的工作区可用。 | 否 |
在构建你的应用时,从**开发**模式开始。 准备就绪后,选择用于广泛分发的**已发布**(npm),或用于私有部署的**内部**(tar 包)。
-## CLI reference
+## CLI 参考
-| 命令 | 描述 | Key flags |
-| --------------------------- | ---------------------------------------------- | --------------------------------------------------- |
-| `yarn twenty build` | Compile app and generate manifest | `--tarball` — also create a `.tgz` package |
-| `yarn twenty publish` | Build and publish to npm | `--tag ` — npm dist-tag (e.g., `beta`, `next`) |
-| `yarn twenty deploy` | Build and upload tarball to a server | `-r, --remote ` — target remote |
-| `yarn twenty catalog-sync` | Trigger marketplace catalog sync on the server | `-r, --remote ` — target remote |
-| `yarn twenty install` | Install a deployed app on a workspace | `-r, --remote ` — target remote |
-| `yarn twenty dev` | Watch and sync local changes | Uses default remote |
-| `yarn twenty remote add` | Add a server connection | `--url`, `--token`, `--as`, `--local`, `--port` |
-| `yarn twenty remote list` | List configured remotes | — |
-| `yarn twenty remote switch` | Set default remote | — |
-| `yarn twenty remote status` | Show connection status | — |
-| `yarn twenty remote remove` | Remove a remote | — |
+| 命令 | 描述 | 关键选项 |
+| --------------------------- | ---------------- | ------------------------------------------- |
+| `yarn twenty build` | 编译应用并生成清单 | `--tarball` — 同时创建一个 `.tgz` 包 |
+| `yarn twenty publish` | 构建并发布到 npm | `--tag ` — npm 分发标签(例如 `beta`、`next`) |
+| `yarn twenty deploy` | 构建并将 tar 包上传到服务器 | `-r, --remote ` — 目标远程 |
+| `yarn twenty catalog-sync` | 在服务器上触发市场目录同步 | `-r, --remote ` — 目标远程 |
+| `yarn twenty install` | 在某个工作区安装已部署的应用 | `-r, --remote ` — 目标远程 |
+| `yarn twenty dev` | 监听并同步本地更改 | 使用默认远程 |
+| `yarn twenty remote add` | 添加服务器连接 | `--url`,`--token`,`--as`,`--local`,`--port` |
+| `yarn twenty remote list` | 列出已配置的远程 | — |
+| `yarn twenty remote switch` | 设置默认远程 | — |
+| `yarn twenty remote status` | 显示连接状态 | — |
+| `yarn twenty remote remove` | 移除远程 | — |