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` | 移除远程 | — |