diff --git a/packages/twenty-docs/l/de/developers/extend/apps/config/install-hooks.mdx b/packages/twenty-docs/l/de/developers/extend/apps/config/install-hooks.mdx index c4649bc07d1..fcb9fdbeea4 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/config/install-hooks.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/config/install-hooks.mdx @@ -45,7 +45,7 @@ export default definePostInstallLogicFunction({ Sie können die Post-Installationsfunktion auch jederzeit manuell über die CLI ausführen: ```bash filename="Terminal" -yarn twenty exec --postInstall +yarn twenty dev:function:exec --postInstall ``` Hauptpunkte: @@ -60,7 +60,7 @@ Hauptpunkte: * Pro Anwendung ist nur eine Post-Installationsfunktion zulässig. Der Manifest-Build schlägt fehl, wenn mehr als eine erkannt wird. * Die `universalIdentifier`, `shouldRunOnVersionUpgrade` und `shouldRunSynchronously` der Funktion werden während des Builds automatisch dem Anwendungsmanifest unter dem Feld `postInstallLogicFunction` hinzugefügt – Sie müssen sie in [`defineApplication()`](/l/de/developers/extend/apps/config/application) nicht referenzieren. * Das standardmäßige Timeout ist auf 300 Sekunden (5 Minuten) festgelegt, um längere Einrichtungsvorgänge wie Daten-Seeding zu ermöglichen. -* **Nicht im Dev-Modus ausgeführt**: Wenn eine App lokal registriert ist (über `yarn twenty dev`), überspringt der Server den Installationsablauf vollständig und synchronisiert Dateien direkt über den CLI-Watcher — daher läuft Post-Install im Dev-Modus nie, unabhängig von `shouldRunSynchronously`. Verwenden Sie `yarn twenty exec --postInstall`, um es manuell gegen einen laufenden Arbeitsbereich auszulösen. +* **Nicht im Dev-Modus ausgeführt**: Wenn eine App lokal registriert ist (über `yarn twenty dev`), überspringt der Server den Installationsablauf vollständig und synchronisiert Dateien direkt über den CLI-Watcher — daher läuft Post-Install im Dev-Modus nie, unabhängig von `shouldRunSynchronously`. Verwenden Sie `yarn twenty dev:function:exec --postInstall`, um es manuell gegen einen laufenden Arbeitsbereich auszulösen. @@ -87,7 +87,7 @@ export default definePreInstallLogicFunction({ Sie können die Pre-Installationsfunktion auch jederzeit manuell über die CLI ausführen: ```bash filename="Terminal" -yarn twenty exec --preInstall +yarn twenty dev:function:exec --preInstall ``` Hauptpunkte: @@ -96,7 +96,7 @@ Hauptpunkte: * **Wann der Hook ausgeführt wird**: positioniert direkt vor der Metadatenmigration des Arbeitsbereichs (`synchronizeFromManifest`). Vor der Ausführung führt der Server einen rein additiven "pared-down sync" durch, der die Pre-Install-Funktion der **neuen** Version in den Metadaten des Arbeitsbereichs registriert — sonst wird nichts angefasst — und führt sie dann aus. Da dieser Sync nur additiv ist, sind die Objekte, Felder und Daten der vorherigen Version noch intakt, wenn Ihr Handler läuft: Sie können den Zustand vor der Migration gefahrlos lesen und sichern. * **Ausführungsmodell**: Pre-Install wird **synchron** ausgeführt und **blockiert die Installation**. Wenn der Handler einen Fehler wirft, wird die Installation abgebrochen, bevor Schemaänderungen angewendet werden — der Arbeitsbereich verbleibt in der vorherigen Version in einem konsistenten Zustand. Das ist beabsichtigt: Pre-Install ist Ihre letzte Chance, ein riskantes Upgrade abzulehnen. * Wie bei Post-Install ist pro Anwendung nur eine Pre-Installationsfunktion zulässig. Sie wird während des Builds automatisch dem Anwendungsmanifest unter `preInstallLogicFunction` hinzugefügt. -* **Nicht im Dev-Modus ausgeführt**: wie bei Post-Install — der Installationsablauf wird für lokal registrierte Apps vollständig übersprungen, daher läuft Pre-Install unter `yarn twenty dev` nie. Verwenden Sie `yarn twenty exec --preInstall`, um es manuell auszulösen. +* **Nicht im Dev-Modus ausgeführt**: wie bei Post-Install — der Installationsablauf wird für lokal registrierte Apps vollständig übersprungen, daher läuft Pre-Install unter `yarn twenty dev` nie. Verwenden Sie `yarn twenty dev:function:exec --preInstall`, um es manuell auszulösen. diff --git a/packages/twenty-docs/l/de/developers/extend/apps/config/public-assets.mdx b/packages/twenty-docs/l/de/developers/extend/apps/config/public-assets.mdx index 09f0262eb25..822240a70a8 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/config/public-assets.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/config/public-assets.mdx @@ -13,7 +13,7 @@ Für Dateien im Verzeichnis `public/` gilt: * **In Logikfunktionen verfügbar** — referenzieren Sie Asset-URLs in E-Mails, API-Antworten oder in beliebiger serverseitiger Logik. * **Für Marketplace-Metadaten verwendet** — die Felder `logoUrl` und `screenshots` in `defineApplication()` referenzieren Dateien aus diesem Ordner (z. B. `public/logo.png`). Diese werden im Marketplace angezeigt, wenn Ihre App veröffentlicht wird. * **Im Dev-Modus automatisch synchronisiert** — wenn Sie in `public/` eine Datei hinzufügen, aktualisieren oder löschen, wird sie automatisch mit dem Server synchronisiert. Kein Neustart erforderlich. -* **In Builds enthalten** — `yarn twenty build` bündelt alle öffentlichen Assets in der Distributionsausgabe. +* **In Builds enthalten** — `yarn twenty dev:build` bündelt alle öffentlichen Assets in der Distributionsausgabe. ## Zugriff auf öffentliche Assets mit `getPublicAssetUrl` diff --git a/packages/twenty-docs/l/de/developers/extend/apps/data/objects.mdx b/packages/twenty-docs/l/de/developers/extend/apps/data/objects.mdx index 43aa647cb27..132de0a7a86 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/data/objects.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/data/objects.mdx @@ -80,7 +80,7 @@ export default defineObject({ * Jedes Feld benötigt `name`, `type`, `label` und einen eigenen stabilen `universalIdentifier`. * Das Array `fields` ist optional — Sie können Objekte ohne benutzerdefinierte Felder definieren. * Inline definierte Felder benötigen **kein** `objectUniversalIdentifier` – er wird vom übergeordneten Objekt geerbt. Verwenden Sie [`defineField()`](/l/de/developers/extend/apps/data/extending-objects), um Objekten Felder hinzuzufügen, die Ihnen nicht gehören. -* Sie können mit `yarn twenty add object` neue Objekte erzeugen; der Assistent führt Sie durch Benennung, Felder und Beziehungen. Siehe [Architektur → Gerüste für Entitäten](/l/de/developers/extend/apps/getting-started/scaffolding). +* Sie können mit `yarn twenty dev:add object` neue Objekte erzeugen; der Assistent führt Sie durch Benennung, Felder und Beziehungen. Siehe [Architektur → Gerüste für Entitäten](/l/de/developers/extend/apps/getting-started/scaffolding). **Basisfelder werden automatisch hinzugefügt.** Wenn Sie ein benutzerdefiniertes Objekt definieren, erstellt Twenty Standardfelder wie `id`, `name`, `createdAt`, `updatedAt`, `createdBy`, `updatedBy` und `deletedAt` für Sie. Sie müssen diese nicht in Ihrem `fields`-Array deklarieren – nur Ihre benutzerdefinierten Felder. Sie können ein Standardfeld überschreiben, indem Sie eines mit demselben Namen deklarieren, aber das ist nur selten eine gute Idee. diff --git a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/concepts.mdx b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/concepts.mdx index 6ba4a819163..de08e74fc6a 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/concepts.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/concepts.mdx @@ -65,7 +65,7 @@ your-app/ │ npx create-twenty-app → yarn twenty dev (live sync) │ ├─────────────────────────────────────────────────────────┤ │ Build & Deploy │ -│ yarn twenty build → yarn twenty deploy │ +│ yarn twenty dev:build → yarn twenty app:publish │ ├─────────────────────────────────────────────────────────┤ │ Install flow │ │ upload → [pre-install] → metadata migration → │ @@ -77,7 +77,7 @@ your-app/ ``` * **`yarn twenty dev`** — überwacht Ihre Quelldateien und synchronisiert Änderungen in Echtzeit mit einem verbundenen Twenty-Server. Der typisierte API-Client wird automatisch neu erzeugt, wenn sich das Schema ändert. -* **`yarn twenty build`** — kompiliert TypeScript, bündelt Logikfunktionen und Frontend-Komponenten mit esbuild und erzeugt ein Manifest. +* **`yarn twenty dev:build`** — kompiliert TypeScript, bündelt Logikfunktionen und Frontend-Komponenten mit esbuild und erzeugt ein Manifest. * **Pre/Post-Install-Hooks** — optionale Funktionen, die während der Installation ausgeführt werden. Details finden Sie unter [Install Hooks](/l/de/developers/extend/apps/config/install-hooks). ## Nächste Schritte diff --git a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/local-server.mdx b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/local-server.mdx index c6d99c3cdba..c560c758ad1 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/local-server.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/local-server.mdx @@ -6,44 +6,44 @@ icon: server ## Lokalen Server verwalten -Verwenden Sie `yarn twenty server`, um den lokalen Twenty-Container zu steuern: +Verwenden Sie `yarn twenty docker:*`, um den lokalen Twenty-Container zu steuern: | Befehl | Was es tut | | -------------------------------------- | --------------------------------------------------- | -| `yarn twenty server start` | Server starten (lädt das Image bei Bedarf herunter) | -| `yarn twenty server start --port 3030` | Auf einem benutzerdefinierten Port starten | -| `yarn twenty server stop` | Server stoppen (Daten bleiben erhalten) | -| `yarn twenty server status` | URL, Version und Anmeldedaten anzeigen | -| `yarn twenty server logs` | Serverprotokolle streamen | -| `yarn twenty server reset` | Alle Daten löschen und neu starten | -| `yarn twenty server upgrade` | Das neueste `twenty-app-dev`-Image herunterladen | -| `yarn twenty server upgrade 2.2.0` | Auf eine bestimmte Version aktualisieren | +| `yarn twenty docker:start` | Server starten (lädt das Image bei Bedarf herunter) | +| `yarn twenty docker:start --port 3030` | Auf einem benutzerdefinierten Port starten | +| `yarn twenty docker:stop` | Server stoppen (Daten bleiben erhalten) | +| `yarn twenty docker:status` | URL, Version und Anmeldedaten anzeigen | +| `yarn twenty docker:logs` | Serverprotokolle streamen | +| `yarn twenty docker:reset` | Alle Daten löschen und neu starten | +| `yarn twenty docker:upgrade` | Das neueste `twenty-app-dev`-Image herunterladen | +| `yarn twenty docker:upgrade 2.2.0` | Auf eine bestimmte Version aktualisieren | Daten bleiben über Neustarts hinweg in zwei Docker-Volumes bestehen (`twenty-app-dev-data` für PostgreSQL, `twenty-app-dev-storage` für Dateien). Verwenden Sie `reset`, um alles zu löschen. ## Aktualisieren des Server-Images -`yarn twenty server upgrade` lädt das neueste Image herunter, vergleicht die Digests und erstellt den Container nur neu, wenn sich tatsächlich etwas geändert hat. Die Volumes bleiben erhalten — nur der Container wird ersetzt. Wenn ein neues Image heruntergeladen wurde und der Container lief, startet das Upgrade automatisch einen neuen Container; führen Sie anschließend `yarn twenty server start` aus, um zu warten, bis er betriebsbereit ist. +`yarn twenty docker:upgrade` lädt das neueste Image herunter, vergleicht die Digests und erstellt den Container nur neu, wenn sich tatsächlich etwas geändert hat. Die Volumes bleiben erhalten — nur der Container wird ersetzt. Wenn ein neues Image heruntergeladen wurde und der Container lief, startet das Upgrade automatisch einen neuen Container; führen Sie anschließend `yarn twenty docker:start` aus, um zu warten, bis er betriebsbereit ist. ```bash filename="Terminal" -yarn twenty server upgrade # Latest -yarn twenty server upgrade 2.2.0 # Specific version +yarn twenty docker:upgrade # Latest +yarn twenty docker:upgrade 2.2.0 # Specific version ``` -Überprüfen Sie die laufende Version mit `yarn twenty server status` (dies zeigt die im Container enthaltene `APP_VERSION` an). +Überprüfen Sie die laufende Version mit `yarn twenty docker:status` (dies zeigt die im Container enthaltene `APP_VERSION` an). ## Eine parallele Testinstanz ausführen -Übergeben Sie `--test` an jeden `server`-Befehl, um eine zweite, vollständig isolierte Instanz zu verwalten — nützlich für Integrationstests oder Experimente, ohne Ihre Hauptentwicklungsdaten anzutasten: +Übergeben Sie `--test` an jeden `docker:*`-Befehl, um eine zweite, vollständig isolierte Instanz zu verwalten — nützlich für Integrationstests oder Experimente, ohne Ihre Hauptentwicklungsdaten anzutasten: | Befehl | Was es tut | | ----------------------------------- | ------------------------------------------------- | -| `yarn twenty server start --test` | Die Testinstanz starten (standardmäßig Port 2021) | -| `yarn twenty server stop --test` | Anhalten | -| `yarn twenty server status --test` | Status anzeigen | -| `yarn twenty server logs --test` | Protokolle streamen | -| `yarn twenty server reset --test` | Daten löschen | -| `yarn twenty server upgrade --test` | Image aktualisieren | +| `yarn twenty docker:start --test` | Die Testinstanz starten (standardmäßig Port 2021) | +| `yarn twenty docker:stop --test` | Anhalten | +| `yarn twenty docker:status --test` | Status anzeigen | +| `yarn twenty docker:logs --test` | Protokolle streamen | +| `yarn twenty docker:reset --test` | Daten löschen | +| `yarn twenty docker:upgrade --test` | Image aktualisieren | Die Testinstanz hat ihren eigenen Container (`twenty-app-dev-test`), eigene Volumes (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) und eine eigene Konfiguration — sie läuft parallel zu Ihrer Hauptinstanz ohne Konflikte. Kombinieren Sie `--test` mit `--port`, um den Port 2021 zu überschreiben. @@ -65,7 +65,7 @@ Fügen Sie der `package.json` das Skript hinzu: } ``` -Sie können jetzt `yarn twenty dev`, `yarn twenty server start` und den Rest ausführen. +Sie können jetzt `yarn twenty dev`, `yarn twenty docker:start` und den Rest ausführen. Installieren Sie `twenty-sdk` nicht global — fixieren Sie es pro Projekt, damit jede App ihre eigene Version verwendet. diff --git a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/quick-start.mdx b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/quick-start.mdx index 32a9507a06a..247c73bfc74 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/quick-start.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/quick-start.mdx @@ -43,7 +43,7 @@ Das Scaffolding-Tool bietet an, einen für Sie zu starten: > **Möchten Sie eine lokale Twenty-Instanz einrichten?** * **Ja (empfohlen)** — lädt das Docker-Image `twentycrm/twenty-app-dev` herunter und startet es auf Port `2020`. Stellen Sie sicher, dass Docker läuft. -* **Nein** — wählen Sie dies, wenn Sie bereits einen Twenty-Server haben, mit dem Sie sich verbinden möchten. Sie können die Verbindung später mit `yarn twenty remote add` herstellen. +* **Nein** — wählen Sie dies, wenn Sie bereits einen Twenty-Server haben, mit dem Sie sich verbinden möchten. Sie können die Verbindung später mit `yarn twenty remote:add` herstellen.
Soll die lokale Instanz gestartet werden? @@ -73,7 +73,7 @@ Ihr Terminal bestätigt, dass alles eingerichtet ist. **Nach dieser Phase:** Sie haben einen laufenden Twenty-Server unter [http://localhost:2020](http://localhost:2020), und Ihre CLI ist autorisiert, mit ihm zu synchronisieren. -Wenn Docker nicht installiert ist oder nicht läuft, zeigt das Scaffolding-Tool den richtigen Startbefehl für Ihr Betriebssystem an. Sobald Docker läuft, können Sie mit `yarn twenty server start` fortfahren — ein erneutes Scaffolding ist nicht nötig. +Wenn Docker nicht installiert ist oder nicht läuft, zeigt das Scaffolding-Tool den richtigen Startbefehl für Ihr Betriebssystem an. Sobald Docker läuft, können Sie mit `yarn twenty docker:start` fortfahren — ein erneutes Scaffolding ist nicht nötig. --- diff --git a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/scaffolding.mdx b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/scaffolding.mdx index d7cf628d760..75cfad227d9 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/scaffolding.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/scaffolding.mdx @@ -1,13 +1,13 @@ --- title: Scaffolding -description: Generieren Sie Entitätsdateien interaktiv mit yarn twenty add — Objekte, Felder, Ansichten, Logikfunktionen und mehr. +description: Generieren Sie Entitätsdateien interaktiv mit yarn twenty dev:add — Objekte, Felder, Ansichten, Logikfunktionen und mehr. icon: wand-magic-sparkles --- Anstatt Entitätsdateien manuell zu erstellen, können Sie den interaktiven Scaffolder verwenden: ```bash filename="Terminal" -yarn twenty add +yarn twenty dev:add ``` Er fordert Sie auf, einen Entitätstyp auszuwählen, führt Sie durch die erforderlichen Felder und schreibt anschließend eine einsatzbereite Datei mit einem stabilen `universalIdentifier` und dem korrekten `defineEntity()`-Aufruf. @@ -15,29 +15,29 @@ Er fordert Sie auf, einen Entitätstyp auszuwählen, führt Sie durch die erford Sie können den Entitätstyp auch direkt übergeben, um die erste Eingabeaufforderung zu überspringen: ```bash filename="Terminal" -yarn twenty add object -yarn twenty add logicFunction -yarn twenty add frontComponent +yarn twenty dev:add object +yarn twenty dev:add logicFunction +yarn twenty dev:add frontComponent ``` ## Verfügbare Entitätstypen -| Entitätstyp | Befehl | Generierte Datei | -| ---------------------- | ------------------------------------ | ------------------------------------------------------- | -| Objekt | `yarn twenty add object` | `src/objects/\.ts` | -| Feld | `yarn twenty add field` | `src/fields/\.ts` | -| Logikfunktion | `yarn twenty add logicFunction` | `src/logic-functions/\.ts` | -| Frontend-Komponente | `yarn twenty add frontComponent` | `src/front-components/\.tsx` | -| Rolle | `yarn twenty add role` | `src/roles/\.ts` | -| Skill | `yarn twenty add skill` | `src/skills/\.ts` | -| Agent | `yarn twenty add agent` | `src/agents/\.ts` | -| Ansicht | `yarn twenty add view` | `src/views/\.ts` | -| Navigationsmenüeintrag | `yarn twenty add navigationMenuItem` | `src/navigation-menu-items/\.ts` | -| Seitenlayout | `yarn twenty add pageLayout` | `src/page-layouts/\.ts` | +| Entitätstyp | Befehl | Generierte Datei | +| ---------------------- | ---------------------------------------- | ------------------------------------------------------- | +| Objekt | `yarn twenty dev:add object` | `src/objects/\.ts` | +| Feld | `yarn twenty dev:add field` | `src/fields/\.ts` | +| Logikfunktion | `yarn twenty dev:add logicFunction` | `src/logic-functions/\.ts` | +| Frontend-Komponente | `yarn twenty dev:add frontComponent` | `src/front-components/\.tsx` | +| Rolle | `yarn twenty dev:add role` | `src/roles/\.ts` | +| Skill | `yarn twenty dev:add skill` | `src/skills/\.ts` | +| Agent | `yarn twenty dev:add agent` | `src/agents/\.ts` | +| Ansicht | `yarn twenty dev:add view` | `src/views/\.ts` | +| Navigationsmenüeintrag | `yarn twenty dev:add navigationMenuItem` | `src/navigation-menu-items/\.ts` | +| Seitenlayout | `yarn twenty dev:add pageLayout` | `src/page-layouts/\.ts` | ## Was der Scaffolder generiert -Jeder Entitätstyp hat seine eigene Vorlage. Zum Beispiel fragt `yarn twenty add object` nach: +Jeder Entitätstyp hat seine eigene Vorlage. Zum Beispiel fragt `yarn twenty dev:add object` nach: 1. **Name (Singular)** — z. B. `invoice` 2. **Name (Plural)** — z. B. `invoices` @@ -54,5 +54,5 @@ Der Entitätstyp `field` ist detaillierter: Er fragt nach Feldname, Label, Typ ( Verwenden Sie den Schalter `--path`, um die generierte Datei an einem benutzerdefinierten Ort abzulegen: ```bash filename="Terminal" -yarn twenty add logicFunction --path src/custom-folder +yarn twenty dev:add logicFunction --path src/custom-folder ``` diff --git a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/troubleshooting.mdx b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/troubleshooting.mdx index 0a44d31c226..1448bb79dd9 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/troubleshooting.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/troubleshooting.mdx @@ -4,7 +4,7 @@ description: Häufige Probleme beim ersten Start — Docker, Node-Version, Yarn icon: Schraubenschlüssel --- -* **Docker-Fehler** — Stellen Sie sicher, dass Docker Desktop (oder der Daemon) läuft, bevor Sie `yarn twenty server start` ausführen. Die Fehlermeldung zeigt den richtigen Startbefehl für Ihr Betriebssystem an. +* **Docker-Fehler** — Stellen Sie sicher, dass Docker Desktop (oder der Daemon) läuft, bevor Sie `yarn twenty docker:start` ausführen. Die Fehlermeldung zeigt den richtigen Startbefehl für Ihr Betriebssystem an. * **Falsche Node-Version** — 24+ erforderlich. Prüfen Sie mit `node -v`. * **Yarn 4 fehlt** — Führen Sie `corepack enable` aus. * **Abhängigkeiten defekt** — `rm -rf node_modules && yarn install`. diff --git a/packages/twenty-docs/l/de/developers/extend/apps/logic/logic-functions.mdx b/packages/twenty-docs/l/de/developers/extend/apps/logic/logic-functions.mdx index a0a95b2ea52..0ba0944cfcd 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/logic/logic-functions.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/logic/logic-functions.mdx @@ -61,17 +61,17 @@ Verfügbare Trigger-Typen: Sie können eine Funktion auch manuell über die CLI ausführen: ```bash filename="Terminal" -yarn twenty exec -n create-new-post-card -p '{"key": "value"}' +yarn twenty dev:function:exec -n create-new-post-card -p '{"key": "value"}' ``` ```bash filename="Terminal" -yarn twenty exec -y e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf ``` Sie können Protokolle mit folgendem Befehl ansehen: ```bash filename="Terminal" -yarn twenty logs +yarn twenty dev:function:logs ``` @@ -340,7 +340,7 @@ Das Paket `twenty-client-sdk` stellt zwei typisierte GraphQL-Clients bereit, um -Der `CoreApiClient` ist der Haupt-Client zum Abfragen und Ändern von Arbeitsbereichsdaten. Er wird während `yarn twenty dev` oder `yarn twenty build` **aus Ihrem Arbeitsbereichsschema generiert** und ist daher vollständig typisiert, passend zu Ihren Objekten und Feldern. +Der `CoreApiClient` ist der Haupt-Client zum Abfragen und Ändern von Arbeitsbereichsdaten. Er wird während `yarn twenty dev` oder `yarn twenty dev:build` **aus Ihrem Arbeitsbereichsschema generiert** und ist daher vollständig typisiert, passend zu Ihren Objekten und Feldern. ```ts import { CoreApiClient } from 'twenty-client-sdk/core'; @@ -380,7 +380,7 @@ const { createCompany } = await client.mutation({ Der Client verwendet eine Selection-Set-Syntax: Übergeben Sie `true`, um ein Feld einzuschließen, verwenden Sie `__args` für Argumente, und verschachteln Sie Objekte für Relationen. Sie erhalten vollständige Autovervollständigung und Typprüfung basierend auf Ihrem Arbeitsbereichsschema. -**Der CoreApiClient wird zur Entwicklungs-/Build-Zeit generiert.** Wenn Sie ihn verwenden, ohne zuvor `yarn twenty dev` oder `yarn twenty build` ausgeführt zu haben, wird ein Fehler ausgelöst. Die Generierung erfolgt automatisch — die CLI inspiziert das GraphQL-Schema Ihres Arbeitsbereichs und erzeugt mit `@genql/cli` einen typisierten Client. +**Der CoreApiClient wird zur Entwicklungs-/Build-Zeit generiert.** Wenn Sie ihn verwenden, ohne zuvor `yarn twenty dev` oder `yarn twenty dev:build` ausgeführt zu haben, wird ein Fehler ausgelöst. Die Generierung erfolgt automatisch — die CLI inspiziert das GraphQL-Schema Ihres Arbeitsbereichs und erzeugt mit `@genql/cli` einen typisierten Client. #### Verwendung von CoreSchema für Typannotationen diff --git a/packages/twenty-docs/l/de/developers/extend/apps/operations/cli.mdx b/packages/twenty-docs/l/de/developers/extend/apps/operations/cli.mdx index ee6ee98dbb7..496a2b2135c 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/operations/cli.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/operations/cli.mdx @@ -4,54 +4,54 @@ description: yarn twenty Befehle zum Ausführen von Funktionen, Streamen von Log icon: Terminal --- -Zusätzlich zu `dev`, `build`, `add` und `typecheck` bietet die `yarn twenty` CLI Befehle zum Ausführen von Funktionen, Anzeigen von Logs und Verwalten von App-Installationen. +Zusätzlich zu `dev`, `dev:build`, `dev:add` und `dev:typecheck` bietet die `yarn twenty` CLI Befehle zum Ausführen von Funktionen, Anzeigen von Logs und Verwalten von App-Installationen. -## Funktionen ausführen (`yarn twenty exec`) +## Funktionen ausführen (`yarn twenty dev:function:exec`) Eine Logikfunktion manuell ausführen, ohne sie über HTTP, Cron oder ein Datenbankereignis auszulösen: ```bash filename="Terminal" # Execute by function name -yarn twenty exec -n create-new-post-card +yarn twenty dev:function:exec -n create-new-post-card # Execute by universalIdentifier -yarn twenty exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf # Pass a JSON payload -yarn twenty exec -n create-new-post-card -p '{"name": "Hello"}' +yarn twenty dev:function:exec -n create-new-post-card -p '{"name": "Hello"}' # Execute the post-install function -yarn twenty exec --postInstall +yarn twenty dev:function:exec --postInstall ``` -## Funktionsprotokolle ansehen (`yarn twenty logs`) +## Funktionsprotokolle ansehen (`yarn twenty dev:function:logs`) Ausführungsprotokolle für die Logikfunktionen Ihrer App streamen: ```bash filename="Terminal" # Stream all function logs -yarn twenty logs +yarn twenty dev:function:logs # Filter by function name -yarn twenty logs -n create-new-post-card +yarn twenty dev:function:logs -n create-new-post-card # Filter by universalIdentifier -yarn twenty logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf ``` -Dies unterscheidet sich von `yarn twenty server logs`, das die Docker-Container-Logs anzeigt. `yarn twenty logs` zeigt die Funktionsausführungsprotokolle Ihrer App vom Twenty-Server. +Dies unterscheidet sich von `yarn twenty docker:logs`, das die Docker-Container-Logs anzeigt. `yarn twenty dev:function:logs` zeigt die Funktionsausführungsprotokolle Ihrer App vom Twenty-Server. -## Eine App deinstallieren (`yarn twenty uninstall`) +## Eine App deinstallieren (`yarn twenty app:uninstall`) Entfernen Sie Ihre App aus dem aktiven Arbeitsbereich: ```bash filename="Terminal" -yarn twenty uninstall +yarn twenty app:uninstall # Skip the confirmation prompt -yarn twenty uninstall --yes +yarn twenty app:uninstall --yes ``` ## Remotes verwalten @@ -60,19 +60,19 @@ Ein **Remote** ist ein Twenty-Server, mit dem sich Ihre App verbindet. Während ```bash filename="Terminal" # Add a new remote (opens a browser for OAuth login) -yarn twenty remote add +yarn twenty remote:add # Connect to a local Twenty server (auto-detects port 2020 or 3000) -yarn twenty remote add --local +yarn twenty remote:add --local # Add a remote non-interactively (useful for CI) -yarn twenty remote add --api-url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote +yarn twenty remote:add --url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote # List all configured remotes -yarn twenty remote list +yarn twenty remote:list -# Switch the active remote -yarn twenty remote switch +# Set the active remote +yarn twenty remote:use ``` Ihre Anmeldedaten werden in `~/.twenty/config.json` gespeichert. diff --git a/packages/twenty-docs/l/de/developers/extend/apps/operations/overview.mdx b/packages/twenty-docs/l/de/developers/extend/apps/operations/overview.mdx index 281f7a6ced4..28d1fe8d50d 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/operations/overview.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/operations/overview.mdx @@ -9,9 +9,9 @@ Die **Operationsschicht** umfasst alles, was Sie *an* Ihrer App tun, statt *mit* ```text develop ─▶ test ─▶ build ─▶ deploy / publish ─────── ──── ───── ───────────────── - yarn yarn yarn yarn twenty deploy (tarball → one server) + yarn yarn yarn yarn twenty app:publish --private (tarball → one server) twenty test twenty - dev build yarn twenty publish (npm → marketplace) + dev dev:build yarn twenty app:publish (npm → marketplace) ``` ## In diesem Abschnitt diff --git a/packages/twenty-docs/l/de/developers/extend/apps/operations/publishing.mdx b/packages/twenty-docs/l/de/developers/extend/apps/operations/publishing.mdx index c90ff0760f9..f8ab351eb73 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/operations/publishing.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/operations/publishing.mdx @@ -18,10 +18,10 @@ Beide Pfade beginnen mit demselben **Build**-Schritt. Führen Sie den Build-Befehl aus, um Ihre App zu kompilieren und eine distributionsfertige `manifest.json` zu erzeugen: ```bash filename="Terminal" -yarn twenty build +yarn twenty dev:build ``` -Dabei werden TypeScript-Quelltexte kompiliert, Logikfunktionen und Frontend-Komponenten transpiliert und alles in `.twenty/output/` geschrieben. Fügen Sie `--tarball` hinzu, um zusätzlich ein `.tgz`-Paket für die manuelle Verteilung oder den Deploy-Befehl zu erzeugen. +Dabei werden TypeScript-Quelltexte kompiliert, Logikfunktionen und Frontend-Komponenten transpiliert und alles in `.twenty/output/` geschrieben. Fügen Sie `--tarball` hinzu, um zusätzlich ein `.tgz`-Paket für die manuelle Verteilung oder den Publish-Befehl zu erzeugen. ## Bereitstellung auf einem Server (Tarball) @@ -34,7 +34,7 @@ Bevor Sie bereitstellen, benötigen Sie ein konfiguriertes Remote, das auf den Z Ein Remote hinzufügen: ```bash filename="Terminal" -yarn twenty remote add --api-url https://your-twenty-server.com --as production +yarn twenty remote:add --url https://your-twenty-server.com --as production ``` ### Bereitstellen @@ -42,9 +42,9 @@ yarn twenty remote add --api-url https://your-twenty-server.com --as production Bauen und laden Sie Ihre App in einem Schritt auf den Server hoch: ```bash filename="Terminal" -yarn twenty deploy +yarn twenty app:publish --private # To deploy to a specific remote: -# yarn twenty deploy --remote production +# yarn twenty app:publish --private --remote production ``` ### Eine bereitgestellte App freigeben @@ -68,7 +68,7 @@ Beim Aktualisieren einer bereits bereitgestellten Tarball-App verlangt der Serve So veröffentlichen Sie ein Update: 1. Erhöhen Sie das Feld `version` in Ihrer `package.json` (z. B. `1.2.3` → `1.2.4`, `1.3.0` oder `2.0.0`). -2. Führen Sie `yarn twenty deploy` aus (oder `yarn twenty deploy --remote production`) +2. Führen Sie `yarn twenty app:publish --private` aus (oder `yarn twenty app:publish --private --remote production`) 3. Arbeitsbereiche, die die App installiert haben, sehen in ihren Einstellungen, dass ein Upgrade verfügbar ist. @@ -121,7 +121,7 @@ Führt Ihre Integrationstests bei jedem Push auf `main` und bei Pull Requests au **Was sie macht:** 1. Checkt den Quellcode Ihrer App aus. -2. Startet eine isolierte Twenty-Testinstanz mithilfe der Composite-Action `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` (das CI-Äquivalent zu `yarn twenty server start --test`). +2. Startet eine isolierte Twenty-Testinstanz mithilfe der Composite-Action `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` (das CI-Äquivalent zu `yarn twenty docker:start --test`). 3. Aktiviert Corepack, richtet Node.js anhand Ihrer `.nvmrc` ein und installiert Abhängigkeiten mit `yarn install --immutable`. 4. Führt `yarn test` aus und übergibt `TWENTY_API_URL` und `TWENTY_API_KEY` aus der gestarteten Instanz, damit Ihre Tests mit einem echten Server kommunizieren können. @@ -139,7 +139,7 @@ Stellt Ihre App bei jedem Push auf `main` auf einem konfigurierten Twenty-Server **Was sie macht:** 1. Checkt den PR-Head (bei PRs mit Label) oder den gepushten Commit aus. -2. Führt `twentyhq/twenty/.github/actions/deploy-twenty-app@main` aus — das CI-Äquivalent zu `yarn twenty deploy`. +2. Führt `twentyhq/twenty/.github/actions/deploy-twenty-app@main` aus — das CI-Äquivalent zu `yarn twenty app:publish --private`. 3. Führt `twentyhq/twenty/.github/actions/install-twenty-app@main` aus, damit die neu bereitgestellte Version in den Ziel-Workspace installiert wird. **Erforderliche Konfiguration:** @@ -208,13 +208,13 @@ Screenshots mit beliebigem Seitenverhältnis werden vollständig angezeigt und n ### Veröffentlichen ```bash filename="Terminal" -yarn twenty publish +yarn twenty app:publish ``` Um unter einem bestimmten dist-tag zu veröffentlichen (z. B. `beta` oder `next`): ```bash filename="Terminal" -yarn twenty publish --tag beta +yarn twenty app:publish --tag beta ``` ### So funktioniert die Marktplatz-Erkennung @@ -224,9 +224,9 @@ Der Twenty-Server synchronisiert seinen Marktplatzkatalog **stündlich** aus der Sie können die Synchronisierung sofort auslösen, anstatt zu warten: ```bash filename="Terminal" -yarn twenty server catalog-sync +yarn twenty dev:catalog-sync # To target a specific remote: -# yarn twenty server catalog-sync --remote production +# yarn twenty dev:catalog-sync --remote production ``` Die im Marktplatz angezeigten Metadaten stammen aus Ihrer `defineApplication()`-Konfiguration — Felder wie `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl` und `termsUrl`. @@ -259,12 +259,12 @@ jobs: node-version: "24" registry-url: https://registry.npmjs.org - run: yarn install --immutable - - run: npx twenty build + - run: npx twenty dev:build - run: npm publish --provenance --access public working-directory: .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`. +Für andere CI-Systeme (GitLab CI, CircleCI usw.) gelten die gleichen drei Befehle: `yarn install`, `yarn twenty dev: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. @@ -281,7 +281,7 @@ Gehen Sie zur Seite **Einstellungen > Anwendungen** in Twenty, auf der sowohl Ma Sie können Apps auch über die Befehlszeile installieren: ```bash filename="Terminal" -yarn twenty install +yarn twenty app:install ``` @@ -290,5 +290,5 @@ Der Server erzwingt bei der Installation semver-Versionierung und spiegelt damit * Die Installation derselben Version, die in Ihrem Arbeitsbereich bereits installiert ist, wird mit einem `APP_ALREADY_INSTALLED`-Fehler abgelehnt. * Die Installation einer niedrigeren Version als die aktuell installierte wird mit einem `CANNOT_DOWNGRADE_APPLICATION`-Fehler abgelehnt. -Um eine neuere Version zu installieren, stellen Sie sie zuerst bereit oder veröffentlichen Sie sie und führen Sie dann `yarn twenty install` erneut aus. +Um eine neuere Version zu installieren, stellen Sie sie zuerst bereit oder veröffentlichen Sie sie und führen Sie dann `yarn twenty app:install` erneut aus. diff --git a/packages/twenty-docs/l/de/developers/extend/apps/operations/testing.mdx b/packages/twenty-docs/l/de/developers/extend/apps/operations/testing.mdx index 6187915e79b..b9c35d5d804 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/operations/testing.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/operations/testing.mdx @@ -235,7 +235,7 @@ yarn test:watch Sie können die Typprüfung Ihrer App auch ohne Tests ausführen: ```bash filename="Terminal" -yarn twenty typecheck +yarn twenty dev:typecheck ``` Dies führt `tsc --noEmit` aus und meldet etwaige Typfehler. diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/config/install-hooks.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/config/install-hooks.mdx index ce89b9cb4be..63082fb8d65 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/config/install-hooks.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/config/install-hooks.mdx @@ -45,7 +45,7 @@ export default definePostInstallLogicFunction({ Você também pode executar manualmente a função de pós-instalação a qualquer momento usando a CLI: ```bash filename="Terminal" -yarn twenty exec --postInstall +yarn twenty dev:function:exec --postInstall ``` Pontos-chave: @@ -60,7 +60,7 @@ Pontos-chave: * É permitida apenas uma função de pós-instalação por app. A geração do manifesto apresentará erro se mais de uma for detectada. * O `universalIdentifier`, `shouldRunOnVersionUpgrade` e `shouldRunSynchronously` da função são anexados automaticamente ao manifesto do aplicativo no campo `postInstallLogicFunction` durante o build — você não precisa referenciá-los em [`defineApplication()`](/l/pt/developers/extend/apps/config/application). * O tempo limite padrão é definido como 300 segundos (5 minutos) para permitir tarefas de configuração mais longas, como o pré-carregamento de dados. -* **Não executado no modo de desenvolvimento**: quando um app é registrado localmente (via `yarn twenty dev`), o servidor pula completamente o fluxo de instalação e sincroniza arquivos diretamente pelo watcher da CLI — portanto, a pós-instalação nunca é executada no modo de desenvolvimento, independentemente de `shouldRunSynchronously`. Use `yarn twenty exec --postInstall` para acioná-lo manualmente em um workspace em execução. +* **Não executado no modo de desenvolvimento**: quando um app é registrado localmente (via `yarn twenty dev`), o servidor pula completamente o fluxo de instalação e sincroniza arquivos diretamente pelo watcher da CLI — portanto, a pós-instalação nunca é executada no modo de desenvolvimento, independentemente de `shouldRunSynchronously`. Use `yarn twenty dev:function:exec --postInstall` para acioná-lo manualmente em um workspace em execução. @@ -87,7 +87,7 @@ export default definePreInstallLogicFunction({ Você também pode executar manualmente a função de pré-instalação a qualquer momento usando a CLI: ```bash filename="Terminal" -yarn twenty exec --preInstall +yarn twenty dev:function:exec --preInstall ``` Pontos-chave: @@ -96,7 +96,7 @@ Pontos-chave: * **Quando o hook é executado**: posicionado imediatamente antes da migração de metadados do workspace (`synchronizeFromManifest`). Antes de executar, o servidor realiza uma "sincronização simplificada" puramente aditiva que registra a função de pré-instalação da **nova** versão nos metadados do workspace — nada mais é alterado — e então a executa. Como essa sincronização é apenas aditiva, os objetos, campos e dados da versão anterior ainda estão intactos quando seu manipulador é executado: você pode ler e fazer backup com segurança do estado pré-migração. * **Modelo de execução**: a pré-instalação é executada **de forma síncrona** e **bloqueia a instalação**. Se o manipulador lançar uma exceção, a instalação é abortada antes que quaisquer alterações de esquema sejam aplicadas — o workspace permanece na versão anterior em um estado consistente. Isto é intencional: a pré-instalação é sua última chance de recusar uma atualização arriscada. * Assim como na pós-instalação, é permitida apenas uma função de pré-instalação por app. Ela é anexada ao manifesto do aplicativo sob `preInstallLogicFunction` automaticamente durante o build. -* **Não é executada no modo de desenvolvimento**: igual à pós-instalação — o fluxo de instalação é totalmente ignorado para apps registrados localmente, portanto a pré-instalação nunca é executada com `yarn twenty dev`. Use `yarn twenty exec --preInstall` para acioná-lo manualmente. +* **Não é executada no modo de desenvolvimento**: igual à pós-instalação — o fluxo de instalação é totalmente ignorado para apps registrados localmente, portanto a pré-instalação nunca é executada com `yarn twenty dev`. Use `yarn twenty dev:function:exec --preInstall` para acioná-lo manualmente. diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/config/public-assets.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/config/public-assets.mdx index 9091aede08f..ab50185c485 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/config/public-assets.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/config/public-assets.mdx @@ -13,7 +13,7 @@ Arquivos colocados em `public/` são: * **Disponíveis em funções lógicas** — referencie URLs de recursos em e-mails, respostas de API ou qualquer lógica no lado do servidor. * **Usados para metadados do marketplace** — os campos `logoUrl` e `screenshots` em `defineApplication()` referenciam arquivos desta pasta (por exemplo, `public/logo.png`). Eles são exibidos no marketplace quando seu app é publicado. * **Sincronizados automaticamente no modo de desenvolvimento** — quando você adiciona, atualiza ou exclui um arquivo em `public/`, ele é sincronizado automaticamente com o servidor. Não é necessário reiniciar. -* **Incluídos nas compilações** — `yarn twenty build` agrupa todos os recursos públicos na saída de distribuição. +* **Incluídos nas compilações** — `yarn twenty dev:build` agrupa todos os recursos públicos na saída de distribuição. ## Acessando recursos públicos com `getPublicAssetUrl` diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/data/objects.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/data/objects.mdx index e1737459eef..2fd58dc9011 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/data/objects.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/data/objects.mdx @@ -80,7 +80,7 @@ export default defineObject({ * Cada campo requer `name`, `type`, `label` e seu próprio `universalIdentifier` estável. * O array `fields` é opcional — você pode definir objetos sem campos personalizados. * Campos inline definidos aqui **não** precisam de `objectUniversalIdentifier` — ele é herdado do objeto pai. Use [`defineField()`](/l/pt/developers/extend/apps/data/extending-objects) para adicionar campos a objetos que não pertencem a você. -* Você pode criar novos objetos com `yarn twenty add object`, que orienta você sobre nomeação, campos e relacionamentos. Veja [Arquitetura → Scaffolding de entidades](/l/pt/developers/extend/apps/getting-started/scaffolding). +* Você pode criar novos objetos com `yarn twenty dev:add object`, que orienta você na definição de nomes, campos e relacionamentos. Veja [Arquitetura → Scaffolding de entidades](/l/pt/developers/extend/apps/getting-started/scaffolding). **Os campos base são adicionados automaticamente.** Quando você define um objeto personalizado, o Twenty cria campos padrão como `id`, `name`, `createdAt`, `updatedAt`, `createdBy`, `updatedBy` e `deletedAt` para você. Você não precisa declará‑los no seu array `fields` — apenas seus campos personalizados. Você pode substituir um campo padrão declarando um com o mesmo nome, mas isso raramente é uma boa ideia. diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/concepts.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/concepts.mdx index 34bb5df6a30..90845725d67 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/concepts.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/concepts.mdx @@ -65,7 +65,7 @@ your-app/ │ npx create-twenty-app → yarn twenty dev (live sync) │ ├─────────────────────────────────────────────────────────┤ │ Build & Deploy │ -│ yarn twenty build → yarn twenty deploy │ +│ yarn twenty dev:build → yarn twenty app:publish │ ├─────────────────────────────────────────────────────────┤ │ Install flow │ │ upload → [pre-install] → metadata migration → │ @@ -77,7 +77,7 @@ your-app/ ``` * **`yarn twenty dev`** — observa seus arquivos-fonte e sincroniza ao vivo as alterações com um servidor Twenty conectado. O cliente de API tipado é regenerado automaticamente quando o esquema muda. -* **`yarn twenty build`** — compila TypeScript, empacota funções de lógica e componentes de front-end com o esbuild e produz um manifesto. +* **`yarn twenty dev:build`** — compila TypeScript, empacota funções de lógica e componentes de front-end com o esbuild e produz um manifesto. * **Hooks de pré/pós-instalação** — funções opcionais que são executadas durante a instalação. Veja [Hooks de instalação](/l/pt/developers/extend/apps/config/install-hooks) para detalhes. ## Próximos passos diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/local-server.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/local-server.mdx index caa4000cdb4..e73ba997fe3 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/local-server.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/local-server.mdx @@ -6,44 +6,44 @@ icon: server ## Gerenciando o servidor local -Use `yarn twenty server` para controlar o contêiner Twenty local: +Use `yarn twenty docker:*` para controlar o contêiner Twenty local: | Comando | O que faz | | -------------------------------------- | ------------------------------------------------ | -| `yarn twenty server start` | Inicia o servidor (baixa a imagem se necessário) | -| `yarn twenty server start --port 3030` | Inicia em uma porta personalizada | -| `yarn twenty server stop` | Interrompe o servidor (preserva os dados) | -| `yarn twenty server status` | Mostra a URL, a versão e as credenciais de login | -| `yarn twenty server logs` | Transmite os logs do servidor | -| `yarn twenty server reset` | Apaga os dados e começa do zero | -| `yarn twenty server upgrade` | Baixa a imagem mais recente `twenty-app-dev` | -| `yarn twenty server upgrade 2.2.0` | Atualiza para uma versão específica | +| `yarn twenty docker:start` | Inicia o servidor (baixa a imagem se necessário) | +| `yarn twenty docker:start --port 3030` | Inicia em uma porta personalizada | +| `yarn twenty docker:stop` | Interrompe o servidor (preserva os dados) | +| `yarn twenty docker:status` | Mostra a URL, a versão e as credenciais de login | +| `yarn twenty docker:logs` | Transmite os logs do servidor | +| `yarn twenty docker:reset` | Apaga os dados e começa do zero | +| `yarn twenty docker:upgrade` | Baixa a imagem mais recente `twenty-app-dev` | +| `yarn twenty docker:upgrade 2.2.0` | Atualiza para uma versão específica | Os dados são persistidos entre reinicializações em dois volumes do Docker (`twenty-app-dev-data` para PostgreSQL, `twenty-app-dev-storage` para arquivos). Use `reset` para apagar tudo. ## Atualizando a imagem do servidor -`yarn twenty server upgrade` baixa a imagem mais recente, compara os digests e só recria o contêiner se algo realmente tiver mudado. Os volumes são preservados — apenas o contêiner é substituído. Se uma nova imagem foi baixada e o contêiner estava em execução, a atualização inicia automaticamente um novo contêiner; execute `yarn twenty server start` depois para aguardar até que ele fique saudável. +`yarn twenty docker:upgrade` baixa a imagem mais recente, compara os digests e só recria o contêiner se algo realmente tiver mudado. Os volumes são preservados — apenas o contêiner é substituído. Se uma nova imagem foi baixada e o contêiner estava em execução, a atualização inicia automaticamente um novo contêiner; execute `yarn twenty docker:start` depois para aguardar até que ele fique saudável. ```bash filename="Terminal" -yarn twenty server upgrade # Latest -yarn twenty server upgrade 2.2.0 # Specific version +yarn twenty docker:upgrade # Latest +yarn twenty docker:upgrade 2.2.0 # Specific version ``` -Verifique a versão em execução com `yarn twenty server status` (ele mostra o `APP_VERSION` incorporado ao contêiner). +Verifique a versão em execução com `yarn twenty docker:status` (ele mostra o `APP_VERSION` incorporado ao contêiner). ## Executando uma instância de teste paralela -Passe `--test` para qualquer comando de `server` para gerenciar uma segunda instância totalmente isolada — útil para testes de integração ou para experimentar sem tocar nos seus dados principais de desenvolvimento: +Passe `--test` para qualquer comando `docker:*` para gerenciar uma segunda instância totalmente isolada — útil para testes de integração ou para experimentar sem tocar nos seus dados principais de desenvolvimento: | Comando | O que faz | | ----------------------------------- | ------------------------------------------------ | -| `yarn twenty server start --test` | Inicia a instância de teste (padrão: porta 2021) | -| `yarn twenty server stop --test` | Para | -| `yarn twenty server status --test` | Mostra seu status | -| `yarn twenty server logs --test` | Transmite seus logs | -| `yarn twenty server reset --test` | Apaga seus dados | -| `yarn twenty server upgrade --test` | Atualiza sua imagem | +| `yarn twenty docker:start --test` | Inicia a instância de teste (padrão: porta 2021) | +| `yarn twenty docker:stop --test` | Para | +| `yarn twenty docker:status --test` | Mostra seu status | +| `yarn twenty docker:logs --test` | Transmite seus logs | +| `yarn twenty docker:reset --test` | Apaga seus dados | +| `yarn twenty docker:upgrade --test` | Atualiza sua imagem | A instância de teste tem seu próprio contêiner (`twenty-app-dev-test`), volumes (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) e configuração — ela é executada junto com sua instância principal sem conflitos. Combine `--test` com `--port` para substituir 2021. @@ -65,7 +65,7 @@ Adicione o script ao `package.json`: } ``` -Agora você pode executar `yarn twenty dev`, `yarn twenty server start` e o restante. +Agora você pode executar `yarn twenty dev`, `yarn twenty docker:start` e o restante. Não instale `twenty-sdk` globalmente — fixe-o por projeto, para que cada aplicativo use sua própria versão. diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/quick-start.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/quick-start.mdx index 434b47c9c2d..b8cc35b6db1 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/quick-start.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/quick-start.mdx @@ -43,7 +43,7 @@ A ferramenta de scaffolding oferece iniciar um para você: > **Você gostaria de configurar uma instância local do Twenty?** * **Sim (recomendado)** — baixa a imagem Docker `twentycrm/twenty-app-dev` e a inicia na porta `2020`. Certifique-se de que o Docker esteja em execução primeiro. -* **Não** — escolha isto se você já tiver um servidor Twenty ao qual deseja se conectar. Você pode conectá-lo depois com `yarn twenty remote add`. +* **Não** — escolha isto se você já tiver um servidor Twenty ao qual deseja se conectar. Você pode conectá-lo depois com `yarn twenty remote:add`.
Deve iniciar instância local? @@ -73,7 +73,7 @@ Seu terminal confirmará que tudo está configurado. **Após esta fase:** você tem um servidor Twenty em execução em [http://localhost:2020](http://localhost:2020) com sua CLI autorizada a sincronizar com ele. -Se o Docker não estiver instalado ou em execução, a ferramenta de scaffolding informará o comando de inicialização correto para o seu sistema operacional. Quando o Docker estiver ativo, você pode retomar com `yarn twenty server start` — sem necessidade de recriar o scaffolding. +Se o Docker não estiver instalado ou em execução, a ferramenta de scaffolding informará o comando de inicialização correto para o seu sistema operacional. Quando o Docker estiver ativo, você pode retomar com `yarn twenty docker:start` — sem necessidade de recriar o scaffolding. --- diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/scaffolding.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/scaffolding.mdx index 20500b8dac7..31116c76008 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/scaffolding.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/scaffolding.mdx @@ -1,13 +1,13 @@ --- title: Scaffolding -description: Gere arquivos de entidade de forma interativa com `yarn twenty add` — objetos, campos, visualizações, funções de lógica e mais. +description: Gere arquivos de entidade de forma interativa com `yarn twenty dev:add` — objetos, campos, visualizações, funções de lógica e mais. icon: wand-magic-sparkles --- Em vez de criar arquivos de entidade manualmente, use o scaffolder interativo: ```bash filename="Terminal" -yarn twenty add +yarn twenty dev:add ``` Ele solicita que você escolha um tipo de entidade e orienta você pelos campos obrigatórios, depois grava um arquivo pronto para uso com um `universalIdentifier` estável e a chamada correta de `defineEntity()`. @@ -15,29 +15,29 @@ Ele solicita que você escolha um tipo de entidade e orienta você pelos campos Você também pode passar o tipo de entidade diretamente para pular o primeiro prompt: ```bash filename="Terminal" -yarn twenty add object -yarn twenty add logicFunction -yarn twenty add frontComponent +yarn twenty dev:add object +yarn twenty dev:add logicFunction +yarn twenty dev:add frontComponent ``` ## Tipos de entidade disponíveis -| Tipo de entidade | Comando | Arquivo gerado | -| ------------------------- | ------------------------------------ | ------------------------------------------------------- | -| Objeto | `yarn twenty add object` | `src/objects/\.ts` | -| Campo | `yarn twenty add field` | `src/fields/\.ts` | -| Função lógica | `yarn twenty add logicFunction` | `src/logic-functions/\.ts` | -| Componente de front-end | `yarn twenty add frontComponent` | `src/front-components/\.tsx` | -| Função | `yarn twenty add role` | `src/roles/\.ts` | -| Habilidade | `yarn twenty add skill` | `src/skills/\.ts` | -| Agente | `yarn twenty add agent` | `src/agents/\.ts` | -| Vista | `yarn twenty add view` | `src/views/\.ts` | -| Item do menu de navegação | `yarn twenty add navigationMenuItem` | `src/navigation-menu-items/\.ts` | -| Layout da página | `yarn twenty add pageLayout` | `src/page-layouts/\.ts` | +| Tipo de entidade | Comando | Arquivo gerado | +| ------------------------- | ---------------------------------------- | ------------------------------------------------------- | +| Objeto | `yarn twenty dev:add object` | `src/objects/\.ts` | +| Campo | `yarn twenty dev:add field` | `src/fields/\.ts` | +| Função lógica | `yarn twenty dev:add logicFunction` | `src/logic-functions/\.ts` | +| Componente de front-end | `yarn twenty dev:add frontComponent` | `src/front-components/\.tsx` | +| Função | `yarn twenty dev:add role` | `src/roles/\.ts` | +| Habilidade | `yarn twenty dev:add skill` | `src/skills/\.ts` | +| Agente | `yarn twenty dev:add agent` | `src/agents/\.ts` | +| Vista | `yarn twenty dev:add view` | `src/views/\.ts` | +| Item do menu de navegação | `yarn twenty dev:add navigationMenuItem` | `src/navigation-menu-items/\.ts` | +| Layout da página | `yarn twenty dev:add pageLayout` | `src/page-layouts/\.ts` | ## O que o scaffolder gera -Cada tipo de entidade tem seu próprio modelo. Por exemplo, `yarn twenty add object` solicita: +Cada tipo de entidade tem seu próprio modelo. Por exemplo, `yarn twenty dev:add object` solicita: 1. **Nome (singular)** — por exemplo, `invoice` 2. **Nome (plural)** — por exemplo, `invoices` @@ -54,5 +54,5 @@ O tipo de entidade `field` é mais detalhado: ele solicita o nome do campo, rót Use a opção `--path` para colocar o arquivo gerado em um local personalizado: ```bash filename="Terminal" -yarn twenty add logicFunction --path src/custom-folder +yarn twenty dev:add logicFunction --path src/custom-folder ``` diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/troubleshooting.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/troubleshooting.mdx index 9ca59adc8b7..ebaa109c46b 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/troubleshooting.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/troubleshooting.mdx @@ -4,7 +4,7 @@ description: Problemas comuns na primeira execução — Docker, versão do Node icon: wrench --- -* **Erros do Docker** — Certifique-se de que o Docker Desktop (ou o daemon) esteja em execução antes de `yarn twenty server start`. A mensagem de erro mostrará o comando de inicialização correto para o seu sistema operacional. +* **Erros do Docker** — Certifique-se de que o Docker Desktop (ou o daemon) esteja em execução antes de `yarn twenty docker:start`. A mensagem de erro mostrará o comando de inicialização correto para o seu sistema operacional. * **Versão errada do Node** — É necessário 24 ou superior. Verifique com `node -v`. * **Falta o Yarn 4** — Execute `corepack enable`. * **Dependências com problemas** — `rm -rf node_modules && yarn install`. diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/logic/logic-functions.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/logic/logic-functions.mdx index 034a08b9abc..4c3b9ea614a 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/logic/logic-functions.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/logic/logic-functions.mdx @@ -61,17 +61,17 @@ Tipos de gatilho disponíveis: Você também pode executar manualmente uma função usando a CLI: ```bash filename="Terminal" -yarn twenty exec -n create-new-post-card -p '{"key": "value"}' +yarn twenty dev:function:exec -n create-new-post-card -p '{"key": "value"}' ``` ```bash filename="Terminal" -yarn twenty exec -y e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf ``` Você pode acompanhar os logs com: ```bash filename="Terminal" -yarn twenty logs +yarn twenty dev:function:logs ``` @@ -340,7 +340,7 @@ O pacote `twenty-client-sdk` fornece dois clientes GraphQL tipados para interagi -`CoreApiClient` é o cliente principal para consultar e mutar dados do espaço de trabalho. Ele é **gerado a partir do schema do seu espaço de trabalho** durante `yarn twenty dev` ou `yarn twenty build`, então é totalmente tipado para corresponder aos seus objetos e campos. +`CoreApiClient` é o cliente principal para consultar e mutar dados do espaço de trabalho. Ele é **gerado a partir do schema do seu espaço de trabalho** durante `yarn twenty dev` ou `yarn twenty dev:build`, então é totalmente tipado para corresponder aos seus objetos e campos. ```ts import { CoreApiClient } from 'twenty-client-sdk/core'; @@ -380,7 +380,7 @@ const { createCompany } = await client.mutation({ O cliente usa uma sintaxe de selection-set: passe `true` para incluir um campo, use `__args` para argumentos e aninhe objetos para relações. Você tem preenchimento automático e verificação de tipos completos com base no schema do seu espaço de trabalho. -**CoreApiClient é gerado em tempo de dev/build.** Se você usá-lo sem executar primeiro `yarn twenty dev` ou `yarn twenty build`, ele lançará um erro. A geração ocorre automaticamente — a CLI analisa o schema GraphQL do seu espaço de trabalho e gera um cliente tipado usando `@genql/cli`. +**CoreApiClient é gerado em tempo de dev/build.** Se você usá-lo sem executar primeiro `yarn twenty dev` ou `yarn twenty dev:build`, ele lançará um erro. A geração ocorre automaticamente — a CLI analisa o schema GraphQL do seu espaço de trabalho e gera um cliente tipado usando `@genql/cli`. #### Usando CoreSchema para anotações de tipo diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/operations/cli.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/operations/cli.mdx index 13340366c40..3c4a5e78883 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/operations/cli.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/operations/cli.mdx @@ -4,54 +4,54 @@ description: comandos `yarn twenty` para executar funções, transmitir logs, ge icon: terminal --- -Além de `dev`, `build`, `add` e `typecheck`, a CLI `yarn twenty` fornece comandos para executar funções, visualizar logs e gerenciar instalações de aplicativos. +Além de `dev`, `dev:build`, `dev:add` e `dev:typecheck`, a CLI `yarn twenty` fornece comandos para executar funções, visualizar logs e gerenciar instalações de aplicativos. -## Executando funções (`yarn twenty exec`) +## Executando funções (`yarn twenty dev:function:exec`) Execute manualmente uma função de lógica sem acioná-la via HTTP, cron ou evento de banco de dados: ```bash filename="Terminal" # Execute by function name -yarn twenty exec -n create-new-post-card +yarn twenty dev:function:exec -n create-new-post-card # Execute by universalIdentifier -yarn twenty exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf # Pass a JSON payload -yarn twenty exec -n create-new-post-card -p '{"name": "Hello"}' +yarn twenty dev:function:exec -n create-new-post-card -p '{"name": "Hello"}' # Execute the post-install function -yarn twenty exec --postInstall +yarn twenty dev:function:exec --postInstall ``` -## Visualizando logs de funções (`yarn twenty logs`) +## Visualizando logs de funções (`yarn twenty dev:function:logs`) Transmita os logs de execução das funções de lógica do seu aplicativo: ```bash filename="Terminal" # Stream all function logs -yarn twenty logs +yarn twenty dev:function:logs # Filter by function name -yarn twenty logs -n create-new-post-card +yarn twenty dev:function:logs -n create-new-post-card # Filter by universalIdentifier -yarn twenty logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf ``` -Isso é diferente de `yarn twenty server logs`, que mostra os logs do contêiner Docker. `yarn twenty logs` mostra os logs de execução de funções do seu aplicativo a partir do servidor Twenty. +Isso é diferente de `yarn twenty docker:logs`, que mostra os logs do contêiner Docker. `yarn twenty dev:function:logs` mostra os logs de execução de funções do seu aplicativo a partir do servidor Twenty. -## Desinstalando um aplicativo (`yarn twenty uninstall`) +## Desinstalando um aplicativo (`yarn twenty app:uninstall`) Remova seu aplicativo do espaço de trabalho ativo: ```bash filename="Terminal" -yarn twenty uninstall +yarn twenty app:uninstall # Skip the confirmation prompt -yarn twenty uninstall --yes +yarn twenty app:uninstall --yes ``` ## Gerenciando remotos @@ -60,19 +60,19 @@ Um **remoto** é um servidor Twenty ao qual seu aplicativo se conecta. Durante a ```bash filename="Terminal" # Add a new remote (opens a browser for OAuth login) -yarn twenty remote add +yarn twenty remote:add # Connect to a local Twenty server (auto-detects port 2020 or 3000) -yarn twenty remote add --local +yarn twenty remote:add --local # Add a remote non-interactively (useful for CI) -yarn twenty remote add --api-url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote +yarn twenty remote:add --url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote # List all configured remotes -yarn twenty remote list +yarn twenty remote:list -# Switch the active remote -yarn twenty remote switch +# Set the active remote +yarn twenty remote:use ``` Suas credenciais são armazenadas em `~/.twenty/config.json`. diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/operations/overview.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/operations/overview.mdx index 7fa3a01c1f4..ff201f68e86 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/operations/overview.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/operations/overview.mdx @@ -9,9 +9,9 @@ A **camada de operações** é tudo o que você faz *para* o seu app em vez de * ```text develop ─▶ test ─▶ build ─▶ deploy / publish ─────── ──── ───── ───────────────── - yarn yarn yarn yarn twenty deploy (tarball → one server) + yarn yarn yarn yarn twenty app:publish --private (tarball → one server) twenty test twenty - dev build yarn twenty publish (npm → marketplace) + dev dev:build yarn twenty app:publish (npm → marketplace) ``` ## Nesta secção diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/operations/publishing.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/operations/publishing.mdx index d0c71296f14..6ba476c6388 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/operations/publishing.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/operations/publishing.mdx @@ -18,10 +18,10 @@ Ambos os caminhos começam na mesma etapa de **build**. Execute o comando build para compilar seu app e gerar um `manifest.json` pronto para distribuição: ```bash filename="Terminal" -yarn twenty build +yarn twenty dev:build ``` -Isso compila seu código-fonte em TypeScript, transpila funções de lógica e componentes de front-end e grava tudo em `.twenty/output/`. Adicione `--tarball` para também gerar um pacote `.tgz` para distribuição manual ou para o comando de deploy. +Isso compila seu código-fonte em TypeScript, transpila funções de lógica e componentes de front-end e grava tudo em `.twenty/output/`. Adicione `--tarball` para também gerar um pacote `.tgz` para distribuição manual ou para o comando de publish. ## Implantando em um servidor (tarball) @@ -34,7 +34,7 @@ Antes de implantar, você precisa de um remote configurado apontando para o serv Adicionar um remote: ```bash filename="Terminal" -yarn twenty remote add --api-url https://your-twenty-server.com --as production +yarn twenty remote:add --url https://your-twenty-server.com --as production ``` ### Implantando @@ -42,9 +42,9 @@ yarn twenty remote add --api-url https://your-twenty-server.com --as production Compile e envie seu aplicativo para o servidor em uma única etapa: ```bash filename="Terminal" -yarn twenty deploy +yarn twenty app:publish --private # To deploy to a specific remote: -# yarn twenty deploy --remote production +# yarn twenty app:publish --private --remote production ``` ### Compartilhando um aplicativo implantado @@ -68,7 +68,7 @@ Ao atualizar um aplicativo empacotado como tarball já implantado, o servidor ex Para lançar uma atualização: 1. Atualize o campo `version` no seu `package.json` (por exemplo, `1.2.3` → `1.2.4`, `1.3.0` ou `2.0.0`) -2. Execute `yarn twenty deploy` (ou `yarn twenty deploy --remote production`) +2. Execute `yarn twenty app:publish --private` (ou `yarn twenty app:publish --private --remote production`) 3. Os espaços de trabalho que têm o aplicativo instalado verão a atualização disponível em suas configurações @@ -121,7 +121,7 @@ Executa testes de integração a cada push para `main` e a cada pull request. **O que faz:** 1. Faz checkout do código-fonte do seu app. -2. Inicia uma instância de teste do Twenty isolada usando a ação composta `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` (o equivalente em CI de `yarn twenty server start --test`). +2. Inicia uma instância de teste do Twenty isolada usando a ação composta `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` (o equivalente em CI de `yarn twenty docker:start --test`). 3. Habilita o Corepack, configura o Node.js a partir do seu `.nvmrc` e instala as dependências com `yarn install --immutable`. 4. Executa `yarn test`, passando `TWENTY_API_URL` e `TWENTY_API_KEY` da instância iniciada para que seus testes possam se comunicar com um servidor real. @@ -139,7 +139,7 @@ Faz o deploy do seu app para um servidor Twenty configurado a cada push para `ma **O que faz:** 1. Faz checkout do head do PR (para PRs rotulados) ou do commit enviado. -2. Executa `twentyhq/twenty/.github/actions/deploy-twenty-app@main` — o equivalente em CI de `yarn twenty deploy`. +2. Executa `twentyhq/twenty/.github/actions/deploy-twenty-app@main` — o equivalente em CI de `yarn twenty app:publish --private`. 3. Executa `twentyhq/twenty/.github/actions/install-twenty-app@main` para que a versão recém-implantada seja instalada no espaço de trabalho de destino. **Configuração obrigatória:** @@ -208,13 +208,13 @@ Capturas de tela de qualquer proporção são exibidas por completo e nunca são ### Publicar ```bash filename="Terminal" -yarn twenty publish +yarn twenty app:publish ``` Para publicar sob uma dist-tag específica (por exemplo, `beta` ou `next`): ```bash filename="Terminal" -yarn twenty publish --tag beta +yarn twenty app:publish --tag beta ``` ### Como funciona a descoberta no marketplace @@ -224,9 +224,9 @@ O servidor Twenty sincroniza seu catálogo do marketplace a partir do registro d Você pode acionar a sincronização imediatamente em vez de esperar: ```bash filename="Terminal" -yarn twenty server catalog-sync +yarn twenty dev:catalog-sync # To target a specific remote: -# yarn twenty server catalog-sync --remote production +# yarn twenty dev:catalog-sync --remote production ``` Os metadados exibidos no marketplace vêm da sua configuração `defineApplication()` — campos como `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl` e `termsUrl`. @@ -259,12 +259,12 @@ jobs: node-version: "24" registry-url: https://registry.npmjs.org - run: yarn install --immutable - - run: npx twenty build + - run: npx twenty dev:build - run: npm publish --provenance --access public working-directory: .twenty/output ``` -Para outros sistemas de CI (GitLab CI, CircleCI etc.), aplicam-se os mesmos três comandos: `yarn install`, `yarn twenty build` e, em seguida, `npm publish` a partir de `.twenty/output`. +Para outros sistemas de CI (GitLab CI, CircleCI etc.), aplicam-se os mesmos três comandos: `yarn install`, `yarn twenty dev:build` e, em seguida, `npm publish` a partir de `.twenty/output`. **Proveniência do npm** é opcional, mas recomendada. Publicar com `--provenance` adiciona um selo de confiança à sua listagem no npm, permitindo que os usuários verifiquem que o pacote foi construído a partir de um commit específico em um pipeline de CI público. Consulte a [documentação de proveniência do npm](https://docs.npmjs.com/generating-provenance-statements) para instruções de configuração. @@ -281,7 +281,7 @@ Vá para a página **Configurações > Aplicações** no Twenty, onde é possív Você também pode instalar apps pela linha de comando: ```bash filename="Terminal" -yarn twenty install +yarn twenty app:install ``` @@ -290,5 +290,5 @@ O servidor impõe o versionamento semver na instalação, espelhando as regras d * Instalar a mesma versão que já está instalada no seu espaço de trabalho é rejeitado com um erro `APP_ALREADY_INSTALLED`. * Instalar uma versão inferior à atualmente instalada é rejeitado com um erro `CANNOT_DOWNGRADE_APPLICATION`. -Para instalar uma versão mais recente, implante ou publique-a primeiro e, em seguida, execute novamente `yarn twenty install`. +Para instalar uma versão mais recente, implante ou publique-a primeiro e, em seguida, execute novamente `yarn twenty app:install`. diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/operations/testing.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/operations/testing.mdx index 5f7312d92c7..a9284a006d2 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/operations/testing.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/operations/testing.mdx @@ -235,7 +235,7 @@ yarn test:watch Você também pode executar a verificação de tipos no seu aplicativo sem executar os testes: ```bash filename="Terminal" -yarn twenty typecheck +yarn twenty dev:typecheck ``` Isso executa `tsc --noEmit` e informa quaisquer erros de tipo. diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/config/install-hooks.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/config/install-hooks.mdx index 6630e52f3e1..96ba0e29aa9 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/config/install-hooks.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/config/install-hooks.mdx @@ -45,7 +45,7 @@ export default definePostInstallLogicFunction({ Puteți, de asemenea, să executați manual funcția post-instalare oricând folosind CLI: ```bash filename="Terminal" -yarn twenty exec --postInstall +yarn twenty dev:function:exec --postInstall ``` Puncte cheie: @@ -60,7 +60,7 @@ Puncte cheie: * Este permisă o singură funcție de post-instalare per aplicație. Construirea manifestului va genera o eroare dacă este detectată mai mult de una. * `universalIdentifier`, `shouldRunOnVersionUpgrade` și `shouldRunSynchronously` ale funcției sunt atașate automat la manifestul aplicației în câmpul `postInstallLogicFunction` în timpul build-ului — nu este nevoie să le referiți în [`defineApplication()`](/l/ro/developers/extend/apps/config/application). * Timpul de expirare implicit este setat la 300 de secunde (5 minute) pentru a permite sarcini de configurare mai lungi, cum ar fi popularea datelor. -* **Nu se execută în modul dev**: când o aplicație este înregistrată local (prin `yarn twenty dev`), serverul sare complet peste fluxul de instalare și sincronizează fișierele direct prin watcher-ul CLI — astfel încât post-install nu rulează niciodată în modul dev, indiferent de `shouldRunSynchronously`. Folosiți `yarn twenty exec --postInstall` pentru a-l declanșa manual într-un workspace care rulează. +* **Nu se execută în modul dev**: când o aplicație este înregistrată local (prin `yarn twenty dev`), serverul sare complet peste fluxul de instalare și sincronizează fișierele direct prin watcher-ul CLI — astfel încât post-install nu rulează niciodată în modul dev, indiferent de `shouldRunSynchronously`. Folosiți `yarn twenty dev:function:exec --postInstall` pentru a-l declanșa manual într-un workspace care rulează. @@ -87,7 +87,7 @@ export default definePreInstallLogicFunction({ Puteți, de asemenea, să executați manual funcția de pre-instalare oricând folosind CLI: ```bash filename="Terminal" -yarn twenty exec --preInstall +yarn twenty dev:function:exec --preInstall ``` Puncte cheie: @@ -96,7 +96,7 @@ Puncte cheie: * **Când rulează hook-ul**: poziționat chiar înainte de migrarea metadatelor workspace-ului (`synchronizeFromManifest`). Înainte de execuție, serverul rulează un "sync redus", pur aditiv, care înregistrează funcția de pre-instalare a versiunii **noi** în metadatele workspace-ului — nimic altceva nu este atins — și apoi o execută. Deoarece acest sync este doar aditiv, obiectele, câmpurile și datele versiunii precedente sunt încă intacte când rulează handlerul dvs.: puteți citi și face backup în siguranță stării pre-migrare. * **Model de execuție**: pre-install este executat **sincron** și **blochează instalarea**. Dacă handlerul aruncă o eroare, instalarea este întreruptă înainte ca orice modificări de schemă să fie aplicate — workspace-ul rămâne la versiunea anterioară într-o stare consistentă. Acest lucru este intenționat: pre-install este ultima dvs. șansă de a refuza o actualizare riscantă. * La fel ca la post-install, este permisă o singură funcție de pre-instalare per aplicație. Este atașată automat la manifestul aplicației sub `preInstallLogicFunction` în timpul build-ului. -* **Nu se execută în modul dev**: la fel ca post-install — fluxul de instalare este sărit complet pentru aplicațiile înregistrate local, astfel încât pre-install nu rulează niciodată sub `yarn twenty dev`. Folosiți `yarn twenty exec --preInstall` pentru a-l declanșa manual. +* **Nu se execută în modul dev**: la fel ca post-install — fluxul de instalare este sărit complet pentru aplicațiile înregistrate local, astfel încât pre-install nu rulează niciodată sub `yarn twenty dev`. Folosiți `yarn twenty dev:function:exec --preInstall` pentru a-l declanșa manual. diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/config/public-assets.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/config/public-assets.mdx index 25e69398dff..14e067eea30 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/config/public-assets.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/config/public-assets.mdx @@ -13,7 +13,7 @@ Fișierele plasate în `public/` sunt: * **Disponibile în funcțiile logice** — referiți URL-urile resurselor în e-mailuri, răspunsuri API sau orice logică pe server. * **Utilizate pentru metadatele marketplace-ului** — câmpurile `logoUrl` și `screenshots` din `defineApplication()` fac referire la fișiere din acest folder (de ex., `public/logo.png`). Acestea sunt afișate în marketplace când aplicația este publicată. * **Sincronizate automat în modul de dezvoltare** — când adăugați, actualizați sau ștergeți un fișier în `public/`, acesta este sincronizat automat cu serverul. Nu este nevoie de repornire. -* **Incluse în build-uri** — `yarn twenty build` împachetează toate resursele publice în outputul de distribuție. +* **Incluse în build-uri** — `yarn twenty dev:build` împachetează toate resursele publice în outputul de distribuție. ## Accesarea resurselor publice cu `getPublicAssetUrl` diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/data/objects.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/data/objects.mdx index 4b44807e317..72c166da505 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/data/objects.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/data/objects.mdx @@ -80,7 +80,7 @@ export default defineObject({ * Fiecare câmp necesită un `name`, un `type`, un `label` și propriul `universalIdentifier` stabil. * Tabloul `fields` este opțional — puteți defini obiecte fără câmpuri personalizate. * Câmpurile inline definite aici **nu** au nevoie de `objectUniversalIdentifier` — este moștenit de la obiectul părinte. Folosiți [`defineField()`](/l/ro/developers/extend/apps/data/extending-objects) pentru a adăuga câmpuri la obiecte care nu vă aparțin. -* Puteți genera obiecte noi cu `yarn twenty add object`, care vă ghidează prin denumire, câmpuri și relații. Consultați [Arhitectură → Generarea entităților](/l/ro/developers/extend/apps/getting-started/scaffolding). +* Puteți genera obiecte noi cu `yarn twenty dev:add object`, care vă ghidează prin denumire, câmpuri și relații. Consultați [Arhitectură → Generarea entităților](/l/ro/developers/extend/apps/getting-started/scaffolding). **Câmpurile de bază sunt adăugate automat.** Când definiți un obiect personalizat, Twenty creează pentru dvs. câmpuri standard precum `id`, `name`, `createdAt`, `updatedAt`, `createdBy`, `updatedBy` și `deletedAt`. Nu trebuie să le declarați în tabloul `fields` — doar câmpurile dvs. personalizate. Puteți suprascrie un câmp implicit declarând unul cu același nume, dar acest lucru este rareori o idee bună. diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/concepts.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/concepts.mdx index c3fb1250987..4ee12f995e1 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/concepts.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/concepts.mdx @@ -65,7 +65,7 @@ your-app/ │ npx create-twenty-app → yarn twenty dev (live sync) │ ├─────────────────────────────────────────────────────────┤ │ Build & Deploy │ -│ yarn twenty build → yarn twenty deploy │ +│ yarn twenty dev:build → yarn twenty app:publish │ ├─────────────────────────────────────────────────────────┤ │ Install flow │ │ upload → [pre-install] → metadata migration → │ @@ -77,7 +77,7 @@ your-app/ ``` * **`yarn twenty dev`** — monitorizează fișierele sursă și sincronizează în timp real modificările către un server Twenty conectat. Clientul API tipizat este regenerat automat atunci când schema se schimbă. -* **`yarn twenty build`** — compilează TypeScript, împachetează funcțiile logice și componentele front-end cu esbuild și produce un manifest. +* **`yarn twenty dev:build`** — compilează TypeScript, împachetează funcțiile logice și componentele front-end cu esbuild și produce un manifest. * **Hook-uri pre/post-instalare** — funcții opționale care rulează în timpul instalării. Vezi [Install Hooks](/l/ro/developers/extend/apps/config/install-hooks) pentru detalii. ## Pașii următori diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/local-server.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/local-server.mdx index 6c6a284354e..6b89565be79 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/local-server.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/local-server.mdx @@ -6,44 +6,44 @@ icon: server ## Gestionarea serverului local -Folosiți `yarn twenty server` pentru a controla containerul Twenty local: +Folosiți `yarn twenty docker:*` pentru a controla containerul Twenty local: | Comandă | Ce face | | -------------------------------------- | ------------------------------------------------------------ | -| `yarn twenty server start` | Pornește serverul (descarcă imaginea dacă este necesar) | -| `yarn twenty server start --port 3030` | Pornește pe un port personalizat | -| `yarn twenty server stop` | Oprește serverul (păstrează datele) | -| `yarn twenty server status` | Afișează URL-ul, versiunea și credențialele de autentificare | -| `yarn twenty server logs` | Transmite în flux jurnalele serverului | -| `yarn twenty server reset` | Șterge datele și pornește de la zero | -| `yarn twenty server upgrade` | Descarcă cea mai recentă imagine `twenty-app-dev` | -| `yarn twenty server upgrade 2.2.0` | Actualizează la o versiune specifică | +| `yarn twenty docker:start` | Pornește serverul (descarcă imaginea dacă este necesar) | +| `yarn twenty docker:start --port 3030` | Pornește pe un port personalizat | +| `yarn twenty docker:stop` | Oprește serverul (păstrează datele) | +| `yarn twenty docker:status` | Afișează URL-ul, versiunea și credențialele de autentificare | +| `yarn twenty docker:logs` | Transmite în flux jurnalele serverului | +| `yarn twenty docker:reset` | Șterge datele și pornește de la zero | +| `yarn twenty docker:upgrade` | Descarcă cea mai recentă imagine `twenty-app-dev` | +| `yarn twenty docker:upgrade 2.2.0` | Actualizează la o versiune specifică | Datele persistă între reporniri în două volume Docker (`twenty-app-dev-data` pentru PostgreSQL, `twenty-app-dev-storage` pentru fișiere). Folosiți `reset` pentru a șterge totul. ## Actualizarea imaginii serverului -`yarn twenty server upgrade` descarcă cea mai recentă imagine, compară digest-urile și recreează containerul doar dacă s-a schimbat ceva. Volumele de date sunt păstrate — doar containerul este înlocuit. Dacă a fost descărcată o imagine nouă și containerul rula, actualizarea pornește automat un container nou; rulați apoi `yarn twenty server start` pentru a aștepta până când devine funcțional. +`yarn twenty docker:upgrade` descarcă cea mai recentă imagine, compară digest-urile și recreează containerul doar dacă s-a schimbat ceva. Volumele de date sunt păstrate — doar containerul este înlocuit. Dacă a fost descărcată o imagine nouă și containerul rula, actualizarea pornește automat un container nou; rulați apoi `yarn twenty docker:start` pentru a aștepta până când devine funcțional. ```bash filename="Terminal" -yarn twenty server upgrade # Latest -yarn twenty server upgrade 2.2.0 # Specific version +yarn twenty docker:upgrade # Latest +yarn twenty docker:upgrade 2.2.0 # Specific version ``` -Puteți verifica versiunea care rulează cu `yarn twenty server status` (aceasta afișează `APP_VERSION` încorporat în container). +Puteți verifica versiunea care rulează cu `yarn twenty docker:status` (aceasta afișează `APP_VERSION` încorporat în container). ## Rularea unei instanțe de test în paralel -Adăugați `--test` la orice comandă `server` pentru a gestiona o a doua instanță, complet izolată — utilă pentru teste de integrare sau pentru a experimenta fără a atinge datele principale de dezvoltare: +Adăugați `--test` la orice comandă `docker:*` pentru a gestiona o a doua instanță, complet izolată — utilă pentru teste de integrare sau pentru a experimenta fără a atinge datele principale de dezvoltare: | Comandă | Ce face | | ----------------------------------- | --------------------------------------------------- | -| `yarn twenty server start --test` | Pornește instanța de test (implicit pe portul 2021) | -| `yarn twenty server stop --test` | Oprește-o | -| `yarn twenty server status --test` | Afișează-i starea | -| `yarn twenty server logs --test` | Transmite în flux jurnalele sale | -| `yarn twenty server reset --test` | Șterge-i datele | -| `yarn twenty server upgrade --test` | Actualizează-i imaginea | +| `yarn twenty docker:start --test` | Pornește instanța de test (implicit pe portul 2021) | +| `yarn twenty docker:stop --test` | Oprește-o | +| `yarn twenty docker:status --test` | Afișează-i starea | +| `yarn twenty docker:logs --test` | Transmite în flux jurnalele sale | +| `yarn twenty docker:reset --test` | Șterge-i datele | +| `yarn twenty docker:upgrade --test` | Actualizează-i imaginea | Instanța de test are propriul container (`twenty-app-dev-test`), propriile volume (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) și propria configurație — rulează alături de instanța principală, fără conflicte. Combinați `--test` cu `--port` pentru a înlocui portul 2021. @@ -65,7 +65,7 @@ Adăugați scriptul în `package.json`: } ``` -Acum puteți rula `yarn twenty dev`, `yarn twenty server start` și restul. +Acum puteți rula `yarn twenty dev`, `yarn twenty docker:start` și restul. Nu instalați `twenty-sdk` global — fixați-l per proiect astfel încât fiecare aplicație să folosească propria versiune. diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/quick-start.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/quick-start.mdx index fa5d9bf758f..d81e03956f7 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/quick-start.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/quick-start.mdx @@ -43,7 +43,7 @@ Generatorul de schelet vă propune să pornească unul pentru dvs.: > **Doriți să configurați o instanță Twenty locală?** * **Yes (recomandat)** — descarcă imaginea Docker `twentycrm/twenty-app-dev` și o pornește pe portul `2020`. Asigurați-vă mai întâi că Docker rulează. -* **No** — alegeți această opțiune dacă aveți deja un server Twenty la care doriți să vă conectați. Îl puteți conecta ulterior cu `yarn twenty remote add`. +* **No** — alegeți această opțiune dacă aveți deja un server Twenty la care doriți să vă conectați. Îl puteți conecta ulterior cu `yarn twenty remote:add`.
Porniți instanța locală? @@ -73,7 +73,7 @@ Terminalul va confirma că totul este configurat. **După această fază:** aveți un server Twenty care rulează la [http://localhost:2020](http://localhost:2020), iar CLI-ul dvs. este autorizat să sincronizeze cu acesta. -Dacă Docker nu este instalat sau nu rulează, generatorul de schelet vă va indica comanda corectă de pornire pentru sistemul dvs. de operare. După ce Docker rulează, puteți continua cu `yarn twenty server start` — nu este nevoie să recreați scheletul. +Dacă Docker nu este instalat sau nu rulează, generatorul de schelet vă va indica comanda corectă de pornire pentru sistemul dvs. de operare. După ce Docker rulează, puteți continua cu `yarn twenty docker:start` — nu este nevoie să recreați scheletul. --- diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/scaffolding.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/scaffolding.mdx index 1b4b2501a0d..3175524ac18 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/scaffolding.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/scaffolding.mdx @@ -1,13 +1,13 @@ --- title: Generare automată -description: Generați fișiere de entități în mod interactiv cu yarn twenty add — obiecte, câmpuri, vizualizări, funcții logice și altele. +description: Generați fișiere de entități în mod interactiv cu yarn twenty dev:add — obiecte, câmpuri, vizualizări, funcții logice și altele. icon: wand-magic-sparkles --- În loc să creați manual fișiere de entități, folosiți generatorul interactiv (scaffolder): ```bash filename="Terminal" -yarn twenty add +yarn twenty dev:add ``` Vă cere să alegeți un tip de entitate și vă ghidează prin câmpurile necesare, apoi scrie un fișier gata de utilizare cu un `universalIdentifier` stabil și apelul corect `defineEntity()`. @@ -15,29 +15,29 @@ Vă cere să alegeți un tip de entitate și vă ghidează prin câmpurile neces Puteți de asemenea să transmiteți direct tipul de entitate pentru a sări peste primul prompt: ```bash filename="Terminal" -yarn twenty add object -yarn twenty add logicFunction -yarn twenty add frontComponent +yarn twenty dev:add object +yarn twenty dev:add logicFunction +yarn twenty dev:add frontComponent ``` ## Tipuri de entități disponibile -| Tipul entității | Comandă | Fișier generat | -| ---------------------------- | ------------------------------------ | ------------------------------------------------------- | -| Obiect | `yarn twenty add object` | `src/objects/\.ts` | -| Câmp | `yarn twenty add field` | `src/fields/\.ts` | -| Funcție logică | `yarn twenty add logicFunction` | `src/logic-functions/\.ts` | -| Componentă frontend | `yarn twenty add frontComponent` | `src/front-components/\.tsx` | -| Rol | `yarn twenty add role` | `src/roles/\.ts` | -| Abilitate | `yarn twenty add skill` | `src/skills/\.ts` | -| Agent | `yarn twenty add agent` | `src/agents/\.ts` | -| Vizualizare | `yarn twenty add view` | `src/views/\.ts` | -| Element de meniu de navigare | `yarn twenty add navigationMenuItem` | `src/navigation-menu-items/\.ts` | -| Machetă de pagină | `yarn twenty add pageLayout` | `src/page-layouts/\.ts` | +| Tipul entității | Comandă | Fișier generat | +| ---------------------------- | ---------------------------------------- | ------------------------------------------------------- | +| Obiect | `yarn twenty dev:add object` | `src/objects/\.ts` | +| Câmp | `yarn twenty dev:add field` | `src/fields/\.ts` | +| Funcție logică | `yarn twenty dev:add logicFunction` | `src/logic-functions/\.ts` | +| Componentă frontend | `yarn twenty dev:add frontComponent` | `src/front-components/\.tsx` | +| Rol | `yarn twenty dev:add role` | `src/roles/\.ts` | +| Abilitate | `yarn twenty dev:add skill` | `src/skills/\.ts` | +| Agent | `yarn twenty dev:add agent` | `src/agents/\.ts` | +| Vizualizare | `yarn twenty dev:add view` | `src/views/\.ts` | +| Element de meniu de navigare | `yarn twenty dev:add navigationMenuItem` | `src/navigation-menu-items/\.ts` | +| Machetă de pagină | `yarn twenty dev:add pageLayout` | `src/page-layouts/\.ts` | ## Ce generează scaffolder-ul -Fiecare tip de entitate are propriul său șablon. De exemplu, `yarn twenty add object` solicită: +Fiecare tip de entitate are propriul său șablon. De exemplu, `yarn twenty dev:add object` solicită: 1. **Nume (singular)** — de ex., `invoice` 2. **Nume (plural)** — de ex., `invoices` @@ -54,5 +54,5 @@ Tipul de entitate `field` este mai detaliat: solicită numele câmpului, etichet Utilizați opțiunea `--path` pentru a plasa fișierul generat într-o locație personalizată: ```bash filename="Terminal" -yarn twenty add logicFunction --path src/custom-folder +yarn twenty dev:add logicFunction --path src/custom-folder ``` diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/troubleshooting.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/troubleshooting.mdx index 90a429b6049..e996cafe727 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/troubleshooting.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/troubleshooting.mdx @@ -4,7 +4,7 @@ description: Probleme comune la prima rulare — Docker, versiunea Node, Yarn, d icon: wrench --- -* **Erori Docker** — Asigurați-vă că Docker Desktop (sau daemonul) rulează înainte de `yarn twenty server start`. Mesajul de eroare va afișa comanda corectă de pornire pentru sistemul dvs. de operare. +* **Erori Docker** — Asigurați-vă că Docker Desktop (sau daemonul) rulează înainte de `yarn twenty docker:start`. Mesajul de eroare va afișa comanda corectă de pornire pentru sistemul dvs. de operare. * **Versiune Node greșită** — Aveți nevoie de 24+. Verificați cu `node -v`. * **Lipsește Yarn 4** — Rulați `corepack enable`. * **Dependențe nefuncționale** — `rm -rf node_modules && yarn install`. diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/logic/logic-functions.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/logic/logic-functions.mdx index 4ddc110a28a..04dc96068eb 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/logic/logic-functions.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/logic/logic-functions.mdx @@ -61,17 +61,17 @@ Tipuri de declanșatoare disponibile: Puteți, de asemenea, să executați manual o funcție folosind CLI: ```bash filename="Terminal" -yarn twenty exec -n create-new-post-card -p '{"key": "value"}' +yarn twenty dev:function:exec -n create-new-post-card -p '{"key": "value"}' ``` ```bash filename="Terminal" -yarn twenty exec -y e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf ``` Puteți urmări jurnalele cu: ```bash filename="Terminal" -yarn twenty logs +yarn twenty dev:function:logs ``` @@ -341,7 +341,7 @@ Pachetul `twenty-client-sdk` oferă doi clienți GraphQL tipați pentru a intera -`CoreApiClient` este clientul principal pentru interogarea și modificarea datelor din spațiul de lucru. Este generat din schema spațiului de lucru în timpul `yarn twenty dev` sau `yarn twenty build`, astfel încât este complet tipizat pentru a corespunde obiectelor și câmpurilor dvs. +`CoreApiClient` este clientul principal pentru interogarea și modificarea datelor din spațiul de lucru. Este **generat din schema spațiului de lucru** în timpul `yarn twenty dev` sau `yarn twenty dev:build`, astfel încât este complet tipizat pentru a corespunde obiectelor și câmpurilor dvs. ```ts import { CoreApiClient } from 'twenty-client-sdk/core'; @@ -381,7 +381,7 @@ const { createCompany } = await client.mutation({ Clientul folosește o sintaxă de tip selection-set: transmiteți `true` pentru a include un câmp, folosiți `__args` pentru argumente și imbricați obiecte pentru relații. Obțineți autocompletare și verificare completă a tipurilor, pe baza schemei spațiului dvs. de lucru. -**CoreApiClient este generat în timpul dev/build.** Dacă îl utilizați fără a rula mai întâi `yarn twenty dev` sau `yarn twenty build`, va arunca o eroare. Generarea are loc automat — CLI inspectează schema GraphQL a spațiului dvs. de lucru și generează un client tipizat folosind `@genql/cli`. +**CoreApiClient este generat în timpul dev/build.** Dacă îl utilizați fără a rula mai întâi `yarn twenty dev` sau `yarn twenty dev:build`, va arunca o eroare. Generarea are loc automat — CLI inspectează schema GraphQL a spațiului dvs. de lucru și generează un client tipizat folosind `@genql/cli`. #### Folosirea CoreSchema pentru adnotări de tip diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/operations/cli.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/operations/cli.mdx index 53f289e6dbd..0a02125dc2c 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/operations/cli.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/operations/cli.mdx @@ -4,54 +4,54 @@ description: comenzi `yarn twenty` pentru executarea funcțiilor, transmiterea icon: terminal --- -Dincolo de `dev`, `build`, `add` și `typecheck`, `yarn twenty` CLI oferă comenzi pentru executarea funcțiilor, vizualizarea jurnalelor și gestionarea instalărilor de aplicații. +Dincolo de `dev`, `dev:build`, `dev:add` și `dev:typecheck`, `yarn twenty` CLI oferă comenzi pentru executarea funcțiilor, vizualizarea jurnalelor și gestionarea instalărilor de aplicații. -## Executarea funcțiilor (`yarn twenty exec`) +## Executarea funcțiilor (`yarn twenty dev:function:exec`) Rulați manual o funcție logică fără a o declanșa prin HTTP, cron sau eveniment de bază de date: ```bash filename="Terminal" # Execute by function name -yarn twenty exec -n create-new-post-card +yarn twenty dev:function:exec -n create-new-post-card # Execute by universalIdentifier -yarn twenty exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf # Pass a JSON payload -yarn twenty exec -n create-new-post-card -p '{"name": "Hello"}' +yarn twenty dev:function:exec -n create-new-post-card -p '{"name": "Hello"}' # Execute the post-install function -yarn twenty exec --postInstall +yarn twenty dev:function:exec --postInstall ``` -## Vizualizarea jurnalelor funcțiilor (`yarn twenty logs`) +## Vizualizarea jurnalelor funcțiilor (`yarn twenty dev:function:logs`) Transmiteți în flux jurnalele de execuție pentru funcțiile logice ale aplicației: ```bash filename="Terminal" # Stream all function logs -yarn twenty logs +yarn twenty dev:function:logs # Filter by function name -yarn twenty logs -n create-new-post-card +yarn twenty dev:function:logs -n create-new-post-card # Filter by universalIdentifier -yarn twenty logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf ``` -Acest lucru este diferit de `yarn twenty server logs`, care afișează jurnalele containerului Docker. `yarn twenty logs` afișează jurnalele de execuție ale funcțiilor aplicației de pe serverul Twenty. +Acest lucru este diferit de `yarn twenty docker:logs`, care afișează jurnalele containerului Docker. `yarn twenty dev:function:logs` afișează jurnalele de execuție ale funcțiilor aplicației de pe serverul Twenty. -## Dezinstalarea unei aplicații (`yarn twenty uninstall`) +## Dezinstalarea unei aplicații (`yarn twenty app:uninstall`) Eliminați aplicația din spațiul de lucru activ: ```bash filename="Terminal" -yarn twenty uninstall +yarn twenty app:uninstall # Skip the confirmation prompt -yarn twenty uninstall --yes +yarn twenty app:uninstall --yes ``` ## Gestionarea remote-urilor @@ -60,19 +60,19 @@ Un „remote” este un server Twenty la care se conectează aplicația. În tim ```bash filename="Terminal" # Add a new remote (opens a browser for OAuth login) -yarn twenty remote add +yarn twenty remote:add # Connect to a local Twenty server (auto-detects port 2020 or 3000) -yarn twenty remote add --local +yarn twenty remote:add --local # Add a remote non-interactively (useful for CI) -yarn twenty remote add --api-url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote +yarn twenty remote:add --url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote # List all configured remotes -yarn twenty remote list +yarn twenty remote:list -# Switch the active remote -yarn twenty remote switch +# Set the active remote +yarn twenty remote:use ``` Acreditările dvs. sunt stocate în `~/.twenty/config.json`. diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/operations/overview.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/operations/overview.mdx index fd24b00f6f9..b46177b16f8 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/operations/overview.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/operations/overview.mdx @@ -9,9 +9,9 @@ icon: rocket ```text develop ─▶ test ─▶ build ─▶ deploy / publish ─────── ──── ───── ───────────────── - yarn yarn yarn yarn twenty deploy (tarball → one server) + yarn yarn yarn yarn twenty app:publish --private (tarball → one server) twenty test twenty - dev build yarn twenty publish (npm → marketplace) + dev dev:build yarn twenty app:publish (npm → marketplace) ``` ## În această secțiune diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/operations/publishing.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/operations/publishing.mdx index 27268fb66fa..3c79a4cdc08 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/operations/publishing.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/operations/publishing.mdx @@ -18,10 +18,10 @@ Ambele căi pornesc din aceeași etapă de **build**. Rulează comanda `build` pentru a compila aplicația și a genera un `manifest.json` pregătit pentru distribuire: ```bash filename="Terminal" -yarn twenty build +yarn twenty dev:build ``` -Aceasta compilează sursele TypeScript, transpilează funcțiile de logică și componentele de front-end și scrie totul în `.twenty/output/`. Adaugă `--tarball` pentru a produce și un pachet `.tgz` pentru distribuire manuală sau pentru comanda de deploy. +Aceasta compilează sursele TypeScript, transpilează funcțiile de logică și componentele de front-end și scrie totul în `.twenty/output/`. Adaugă `--tarball` pentru a produce și un pachet `.tgz` pentru distribuire manuală sau pentru comanda de publish. ## Implementare pe un server (tarball) @@ -34,7 +34,7 @@ Pentru aplicațiile pe care nu le dorești disponibile public — instrumente pr Adaugă un remote: ```bash filename="Terminal" -yarn twenty remote add --api-url https://your-twenty-server.com --as production +yarn twenty remote:add --url https://your-twenty-server.com --as production ``` ### Implementare @@ -42,9 +42,9 @@ yarn twenty remote add --api-url https://your-twenty-server.com --as production Construiește și încarcă aplicația ta pe server într-un singur pas: ```bash filename="Terminal" -yarn twenty deploy +yarn twenty app:publish --private # To deploy to a specific remote: -# yarn twenty deploy --remote production +# yarn twenty app:publish --private --remote production ``` ### Partajarea unei aplicații implementate @@ -68,7 +68,7 @@ Când actualizezi o aplicație tarball deja implementată, serverul solicită ca Pentru a lansa o actualizare: 1. Incrementează câmpul `version` din `package.json` (de ex. `1.2.3` → `1.2.4`, `1.3.0` sau `2.0.0`) -2. Rulează `yarn twenty deploy` (sau `yarn twenty deploy --remote production`) +2. Rulează `yarn twenty app:publish --private` (sau `yarn twenty app:publish --private --remote production`) 3. Spațiile de lucru care au aplicația instalată vor vedea actualizarea disponibilă în setările lor @@ -121,7 +121,7 @@ Rulează testele de integrare la fiecare push pe `main` și la fiecare pull requ **Ce face:** 1. Preia codul sursă al aplicației. -2. Pornește o instanță de test Twenty izolată folosind acțiunea compozită `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` (echivalentul din CI al `yarn twenty server start --test`). +2. Pornește o instanță de test Twenty izolată folosind acțiunea compozită `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` (echivalentul din CI al `yarn twenty docker:start --test`). 3. Activează Corepack, configurează Node.js pe baza fișierului `.nvmrc` și instalează dependențele cu `yarn install --immutable`. 4. Rulează `yarn test`, transmitând `TWENTY_API_URL` și `TWENTY_API_KEY` din instanța pornită, astfel încât testele să poată comunica cu un server real. @@ -139,7 +139,7 @@ Implementează aplicația pe un server Twenty configurat la fiecare push pe `mai **Ce face:** 1. Preia head-ul PR-ului (pentru PR-urile etichetate) sau commitul împins. -2. Rulează `twentyhq/twenty/.github/actions/deploy-twenty-app@main` — echivalentul din CI al `yarn twenty deploy`. +2. Rulează `twentyhq/twenty/.github/actions/deploy-twenty-app@main` — echivalentul din CI al `yarn twenty app:publish --private`. 3. Rulează `twentyhq/twenty/.github/actions/install-twenty-app@main` astfel încât versiunea nou implementată să fie instalată în spațiul de lucru țintă. **Configurare necesară:** @@ -208,13 +208,13 @@ Capturile de ecran cu orice raport de aspect sunt afișate integral și nu sunt ### Publicare ```bash filename="Terminal" -yarn twenty publish +yarn twenty app:publish ``` Pentru a publica sub un dist-tag specific (de ex., `beta` sau `next`): ```bash filename="Terminal" -yarn twenty publish --tag beta +yarn twenty app:publish --tag beta ``` ### Cum funcționează descoperirea în marketplace @@ -224,9 +224,9 @@ Serverul Twenty sincronizează catalogul marketplace-ului din registrul npm **la Poți declanșa sincronizarea imediat, în loc să aștepți: ```bash filename="Terminal" -yarn twenty server catalog-sync +yarn twenty dev:catalog-sync # To target a specific remote: -# yarn twenty server catalog-sync --remote production +# yarn twenty dev:catalog-sync --remote production ``` Metadatele afișate în marketplace provin din configurația `defineApplication()` — câmpuri precum `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl` și `termsUrl`. @@ -259,12 +259,12 @@ jobs: node-version: "24" registry-url: https://registry.npmjs.org - run: yarn install --immutable - - run: npx twenty build + - run: npx twenty dev:build - run: npm publish --provenance --access public working-directory: .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`. +Pentru alte sisteme CI (GitLab CI, CircleCI etc.), se aplică aceleași trei comenzi: `yarn install`, `yarn twenty dev: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. @@ -281,7 +281,7 @@ Mergi la pagina **Setări > Aplicații** din Twenty, unde pot fi parcurse și in Poți instala aplicații și din linia de comandă: ```bash filename="Terminal" -yarn twenty install +yarn twenty app:install ``` @@ -290,5 +290,5 @@ Serverul impune versionarea semver la instalare, reflectând regulile de la depl * Instalarea aceleiași versiuni care este deja instalată în spațiul tău de lucru este respinsă cu o eroare `APP_ALREADY_INSTALLED`. * Instalarea unei versiuni mai mici decât cea instalată în prezent este respinsă cu o eroare `CANNOT_DOWNGRADE_APPLICATION`. -Pentru a instala o versiune mai nouă, fă mai întâi deploy sau public-o, apoi rulează din nou `yarn twenty install`. +Pentru a instala o versiune mai nouă, fă mai întâi deploy sau public-o, apoi rulează din nou `yarn twenty app:install`. diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/operations/testing.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/operations/testing.mdx index 295d1149e92..88c1f007d3b 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/operations/testing.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/operations/testing.mdx @@ -235,7 +235,7 @@ yarn test:watch Puteți rula și verificarea tipurilor pe aplicație fără a rula testele: ```bash filename="Terminal" -yarn twenty typecheck +yarn twenty dev:typecheck ``` Aceasta rulează `tsc --noEmit` și raportează orice erori de tip. diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/config/install-hooks.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/config/install-hooks.mdx index 6702394ec4e..3888623f41d 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/config/install-hooks.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/config/install-hooks.mdx @@ -45,7 +45,7 @@ export default definePostInstallLogicFunction({ Вы также можете вручную выполнить постустановочную функцию в любое время с помощью CLI: ```bash filename="Terminal" -yarn twenty exec --postInstall +yarn twenty dev:function:exec --postInstall ``` Основные моменты: @@ -60,7 +60,7 @@ yarn twenty exec --postInstall * Для каждого приложения допускается только одна послеустановочная функция. Сборка манифеста завершится ошибкой, если будет обнаружено более одной такой функции. * Параметры функции `universalIdentifier`, `shouldRunOnVersionUpgrade` и `shouldRunSynchronously` автоматически добавляются в манифест приложения в поле `postInstallLogicFunction` во время сборки — вам не нужно указывать их в [`defineApplication()`](/l/ru/developers/extend/apps/config/application). * Тайм-аут по умолчанию установлен на 300 секунд (5 минут), чтобы позволить выполнять более длительные задачи настройки, такие как инициализация данных. -* **Не выполняется в режиме разработки**: когда приложение зарегистрировано локально (через `yarn twenty dev`), сервер полностью пропускает процесс установки и синхронизирует файлы напрямую через наблюдатель CLI — поэтому post-install никогда не запускается в режиме разработки, независимо от `shouldRunSynchronously`. Используйте `yarn twenty exec --postInstall`, чтобы запустить это вручную для запущенного рабочего пространства. +* **Не выполняется в режиме разработки**: когда приложение зарегистрировано локально (через `yarn twenty dev`), сервер полностью пропускает процесс установки и синхронизирует файлы напрямую через наблюдатель CLI — поэтому post-install никогда не запускается в режиме разработки, независимо от `shouldRunSynchronously`. Используйте `yarn twenty dev:function:exec --postInstall`, чтобы запустить это вручную для запущенного рабочего пространства. @@ -87,7 +87,7 @@ export default definePreInstallLogicFunction({ Вы также можете вручную выполнить предустановочную функцию в любое время с помощью CLI: ```bash filename="Terminal" -yarn twenty exec --preInstall +yarn twenty dev:function:exec --preInstall ``` Основные моменты: @@ -96,7 +96,7 @@ yarn twenty exec --preInstall * **Когда запускается хук**: выполняется непосредственно перед миграцией метаданных рабочего пространства (`synchronizeFromManifest`). Перед выполнением сервер запускает чисто добавочную «урезанную синхронизацию», которая регистрирует в метаданных рабочего пространства pre-install функцию **новой** версии — ничего больше не затрагивается — а затем выполняет её. Поскольку эта синхронизация только добавляет, объекты, поля и данные предыдущей версии остаются нетронутыми к моменту запуска вашего обработчика: вы можете безопасно читать и сохранять состояние до миграции. * **Модель выполнения**: pre-install выполняется **синхронно** и **блокирует установку**. Если обработчик генерирует исключение, установка прерывается до применения каких-либо изменений схемы — рабочее пространство остаётся на предыдущей версии в согласованном состоянии. Это сделано намеренно: pre-install — ваш последний шанс отказать в рискованном обновлении. * Как и в случае с post-install, для каждого приложения допускается только одна предустановочная функция. Она автоматически добавляется в манифест приложения в поле `preInstallLogicFunction` во время сборки. -* **Не выполняется в режиме разработки**: как и post-install, процесс установки полностью пропускается для локально зарегистрированных приложений, поэтому pre-install никогда не запускается при `yarn twenty dev`. Используйте `yarn twenty exec --preInstall`, чтобы запустить это вручную. +* **Не выполняется в режиме разработки**: как и post-install, процесс установки полностью пропускается для локально зарегистрированных приложений, поэтому pre-install никогда не запускается при `yarn twenty dev`. Используйте `yarn twenty dev:function:exec --preInstall`, чтобы запустить это вручную. diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/config/public-assets.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/config/public-assets.mdx index da6b1d62a0d..d4310442cec 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/config/public-assets.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/config/public-assets.mdx @@ -13,7 +13,7 @@ icon: folder-open * **Доступными в логических функциях** — используйте URL ресурсов в письмах, ответах API или любой серверной логике. * **Используются для метаданных маркетплейса** — поля `logoUrl` и `screenshots` в `defineApplication()` ссылаются на файлы из этой папки (например, `public/logo.png`). Они отображаются в маркетплейсе при публикации вашего приложения. * **Автосинхронизация в режиме разработки** — когда вы добавляете, обновляете или удаляете файл в `public/`, он автоматически синхронизируется с сервером. Перезапуск не требуется. -* **Включены в сборки** — `yarn twenty build` упаковывает все публичные ресурсы в выходной дистрибутив. +* **Включены в сборки** — `yarn twenty dev:build` упаковывает все публичные ресурсы в выходной дистрибутив. ## Доступ к публичным ресурсам с помощью `getPublicAssetUrl` diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/data/objects.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/data/objects.mdx index 1de7182050f..a5575a02944 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/data/objects.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/data/objects.mdx @@ -80,7 +80,7 @@ export default defineObject({ * Каждому полю требуются `name`, `type`, `label` и собственный стабильный `universalIdentifier`. * Массив `fields` необязателен — вы можете определять объекты без пользовательских полей. * Встроенным полям, определённым здесь, **не** нужен `objectUniversalIdentifier` — он наследуется от родительского объекта. Используйте [`defineField()`](/l/ru/developers/extend/apps/data/extending-objects), чтобы добавить поля к объектам, которые вам не принадлежат. -* Вы можете сгенерировать новые объекты с помощью `yarn twenty add object`, который проведёт вас через выбор именования, полей и связей. См. [Architecture → Scaffolding entities](/l/ru/developers/extend/apps/getting-started/scaffolding). +* Вы можете сгенерировать заготовки новых объектов с помощью `yarn twenty dev:add object`, который проведёт вас через настройку названий, полей и связей. См. [Architecture → Scaffolding entities](/l/ru/developers/extend/apps/getting-started/scaffolding). **Базовые поля добавляются автоматически.** Когда вы определяете пользовательский объект, Twenty создаёт для вас стандартные поля, такие как `id`, `name`, `createdAt`, `updatedAt`, `createdBy`, `updatedBy` и `deletedAt`. Вам не нужно объявлять их в массиве `fields` — только ваши пользовательские поля. Вы можете переопределить базовое поле, объявив поле с тем же именем, но это редко бывает хорошей идеей. diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/concepts.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/concepts.mdx index 1763450f5cf..4ce03674161 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/concepts.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/concepts.mdx @@ -65,7 +65,7 @@ your-app/ │ npx create-twenty-app → yarn twenty dev (live sync) │ ├─────────────────────────────────────────────────────────┤ │ Build & Deploy │ -│ yarn twenty build → yarn twenty deploy │ +│ yarn twenty dev:build → yarn twenty app:publish │ ├─────────────────────────────────────────────────────────┤ │ Install flow │ │ upload → [pre-install] → metadata migration → │ @@ -77,7 +77,7 @@ your-app/ ``` * **`yarn twenty dev`** — следит за исходными файлами и синхронизирует изменения в реальном времени с подключённым сервером Twenty. Типизированный клиент API автоматически пересоздаётся при изменении схемы. -* **`yarn twenty build`** — компилирует TypeScript, упаковывает логические функции и фронтенд-компоненты с помощью esbuild и формирует манифест. +* **`yarn twenty dev:build`** — компилирует TypeScript, упаковывает логические функции и фронтенд-компоненты с помощью esbuild и формирует манифест. * **Хуки до/после установки** — необязательные функции, которые выполняются во время установки. См. раздел [Install Hooks](/l/ru/developers/extend/apps/config/install-hooks) для подробностей. ## Следующие шаги diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/local-server.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/local-server.mdx index a9f9f6a5cb3..3eeea6dda44 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/local-server.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/local-server.mdx @@ -6,44 +6,44 @@ icon: server ## Управление локальным сервером -Используйте `yarn twenty server` для управления локальным контейнером Twenty: +Используйте `yarn twenty docker:*` для управления локальным контейнером Twenty: | Команда | Что делает | | -------------------------------------- | ---------------------------------------------------- | -| `yarn twenty server start` | Запустить сервер (при необходимости скачивает образ) | -| `yarn twenty server start --port 3030` | Запустить на пользовательском порту | -| `yarn twenty server stop` | Остановить сервер (данные сохраняются) | -| `yarn twenty server status` | Показать URL, версию и учётные данные для входа | -| `yarn twenty server logs` | Потоковый вывод журналов сервера | -| `yarn twenty server reset` | Стереть данные и начать заново | -| `yarn twenty server upgrade` | Скачать последний образ `twenty-app-dev` | -| `yarn twenty server upgrade 2.2.0` | Обновить до конкретной версии | +| `yarn twenty docker:start` | Запустить сервер (при необходимости скачивает образ) | +| `yarn twenty docker:start --port 3030` | Запустить на пользовательском порту | +| `yarn twenty docker:stop` | Остановить сервер (данные сохраняются) | +| `yarn twenty docker:status` | Показать URL, версию и учётные данные для входа | +| `yarn twenty docker:logs` | Потоковый вывод журналов сервера | +| `yarn twenty docker:reset` | Стереть данные и начать заново | +| `yarn twenty docker:upgrade` | Скачать последний образ `twenty-app-dev` | +| `yarn twenty docker:upgrade 2.2.0` | Обновить до конкретной версии | Данные сохраняются между перезапусками в двух томах Docker (`twenty-app-dev-data` для PostgreSQL, `twenty-app-dev-storage` для файлов). Используйте `reset`, чтобы стереть всё. ## Обновление образа сервера -`yarn twenty server upgrade` скачивает последний образ, сравнивает дайджесты и пересоздаёт контейнер только если действительно что-то изменилось. Тома сохраняются — заменяется только контейнер. Если был скачан новый образ и контейнер работал, при обновлении автоматически запускается новый контейнер; затем выполните `yarn twenty server start`, чтобы дождаться его готовности. +`yarn twenty docker:upgrade` скачивает последний образ, сравнивает дайджесты и пересоздаёт контейнер только если действительно что-то изменилось. Тома сохраняются — заменяется только контейнер. Если был скачан новый образ и контейнер работал, при обновлении автоматически запускается новый контейнер; затем выполните `yarn twenty docker:start`, чтобы дождаться его готовности. ```bash filename="Terminal" -yarn twenty server upgrade # Latest -yarn twenty server upgrade 2.2.0 # Specific version +yarn twenty docker:upgrade # Latest +yarn twenty docker:upgrade 2.2.0 # Specific version ``` -Проверьте запущенную версию с помощью `yarn twenty server status` (эта команда показывает `APP_VERSION`, встроенную в контейнер). +Проверьте запущенную версию с помощью `yarn twenty docker:status` (эта команда показывает `APP_VERSION`, встроенную в контейнер). ## Запуск параллельного тестового экземпляра -Передайте `--test` любой команде `server`, чтобы управлять вторым, полностью изолированным экземпляром — это полезно для запуска интеграционных тестов или экспериментов, не затрагивая ваши основные данные разработки. +Передайте `--test` любой команде `docker:*`, чтобы управлять вторым, полностью изолированным экземпляром — это полезно для запуска интеграционных тестов или экспериментов, не затрагивая ваши основные данные разработки: | Команда | Что делает | | ----------------------------------- | ------------------------------------------------------- | -| `yarn twenty server start --test` | Запустить тестовый экземпляр (по умолчанию — порт 2021) | -| `yarn twenty server stop --test` | Остановить его | -| `yarn twenty server status --test` | Показать его статус | -| `yarn twenty server logs --test` | Транслировать его журналы | -| `yarn twenty server reset --test` | Стереть его данные | -| `yarn twenty server upgrade --test` | Обновить его образ | +| `yarn twenty docker:start --test` | Запустить тестовый экземпляр (по умолчанию — порт 2021) | +| `yarn twenty docker:stop --test` | Остановить его | +| `yarn twenty docker:status --test` | Показать его статус | +| `yarn twenty docker:logs --test` | Транслировать его журналы | +| `yarn twenty docker:reset --test` | Стереть его данные | +| `yarn twenty docker:upgrade --test` | Обновить его образ | Тестовый экземпляр запускается в собственном контейнере Docker (`twenty-app-dev-test`) с выделенными томами (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) и собственной конфигурацией, поэтому он может работать параллельно с вашим основным экземпляром без конфликтов. Совместите `--test` с `--port`, чтобы переопределить значение по умолчанию (2021). @@ -65,7 +65,7 @@ yarn add twenty-sdk twenty-client-sdk } ``` -Теперь вы можете запускать `yarn twenty dev`, `yarn twenty server start` и остальные команды. +Теперь вы можете запускать `yarn twenty dev`, `yarn twenty docker:start` и остальные команды. Не устанавливайте `twenty-sdk` глобально — фиксируйте версию в каждом проекте, чтобы каждое приложение использовало свою собственную версию. diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/quick-start.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/quick-start.mdx index 05058f110e6..00dc83d9b33 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/quick-start.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/quick-start.mdx @@ -43,7 +43,7 @@ npx create-twenty-app@latest my-twenty-app > **Хотите настроить локальный экземпляр Twenty?** * **Да (рекомендуется)** — скачивает Docker-образ `twentycrm/twenty-app-dev` и запускает его на порту `2020`. Сначала убедитесь, что Docker запущен. -* **Нет** — выберите это, если у вас уже есть сервер Twenty, к которому вы хотите подключиться. Позже вы можете подключить его с помощью `yarn twenty remote add`. +* **Нет** — выберите это, если у вас уже есть сервер Twenty, к которому вы хотите подключиться. Позже вы можете подключить его с помощью `yarn twenty remote:add`.
Запустить локальный экземпляр? @@ -73,7 +73,7 @@ npx create-twenty-app@latest my-twenty-app **После этой фазы:** у вас запущен сервер Twenty на [http://localhost:2020](http://localhost:2020), а ваш CLI авторизован для синхронизации с ним. -Если Docker не установлен или не запущен, генератор каркаса подскажет правильную команду запуска для вашей ОС. Когда Docker будет запущен, вы можете продолжить с `yarn twenty server start` — заново генерировать каркас не нужно. +Если Docker не установлен или не запущен, генератор каркаса подскажет правильную команду запуска для вашей ОС. Когда Docker будет запущен, вы можете продолжить с `yarn twenty docker:start` — заново генерировать каркас не нужно. --- diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/scaffolding.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/scaffolding.mdx index 7b86be60795..a217ebc3692 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/scaffolding.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/scaffolding.mdx @@ -1,13 +1,13 @@ --- title: Создание каркаса -description: Интерактивно генерируйте файлы сущностей с помощью yarn twenty add — объекты, поля, представления, логические функции и многое другое. +description: Интерактивно генерируйте файлы сущностей с помощью yarn twenty dev:add — объекты, поля, представления, логические функции и многое другое. icon: wand-magic-sparkles --- Вместо ручного создания файлов сущностей используйте интерактивный генератор: ```bash filename="Terminal" -yarn twenty add +yarn twenty dev:add ``` Он предлагает выбрать тип сущности и пошагово проводит через обязательные поля, а затем записывает готовый к использованию файл со стабильным `universalIdentifier` и корректным вызовом `defineEntity()`. @@ -15,29 +15,29 @@ yarn twenty add Вы также можете передать тип сущности напрямую, чтобы пропустить первый запрос: ```bash filename="Terminal" -yarn twenty add object -yarn twenty add logicFunction -yarn twenty add frontComponent +yarn twenty dev:add object +yarn twenty dev:add logicFunction +yarn twenty dev:add frontComponent ``` ## Доступные типы сущностей -| Тип сущности | Команда | Сгенерированный файл | -| -------------------- | ------------------------------------ | ------------------------------------------------------- | -| Объект | `yarn twenty add object` | `src/objects/\.ts` | -| Поле | `yarn twenty add field` | `src/fields/\.ts` | -| Логическая функция | `yarn twenty add logicFunction` | `src/logic-functions/\.ts` | -| Компонент фронтенда | `yarn twenty add frontComponent` | `src/front-components/\.tsx` | -| Роль | `yarn twenty add role` | `src/roles/\.ts` | -| Навык | `yarn twenty add skill` | `src/skills/\.ts` | -| Агент | `yarn twenty add agent` | `src/agents/\.ts` | -| Представление | `yarn twenty add view` | `src/views/\.ts` | -| Пункт меню навигации | `yarn twenty add navigationMenuItem` | `src/navigation-menu-items/\.ts` | -| Макет страницы | `yarn twenty add pageLayout` | `src/page-layouts/\.ts` | +| Тип сущности | Команда | Сгенерированный файл | +| -------------------- | ---------------------------------------- | ------------------------------------------------------- | +| Объект | `yarn twenty dev:add object` | `src/objects/\.ts` | +| Поле | `yarn twenty dev:add field` | `src/fields/\.ts` | +| Логическая функция | `yarn twenty dev:add logicFunction` | `src/logic-functions/\.ts` | +| Компонент фронтенда | `yarn twenty dev:add frontComponent` | `src/front-components/\.tsx` | +| Роль | `yarn twenty dev:add role` | `src/roles/\.ts` | +| Навык | `yarn twenty dev:add skill` | `src/skills/\.ts` | +| Агент | `yarn twenty dev:add agent` | `src/agents/\.ts` | +| Представление | `yarn twenty dev:add view` | `src/views/\.ts` | +| Пункт меню навигации | `yarn twenty dev:add navigationMenuItem` | `src/navigation-menu-items/\.ts` | +| Макет страницы | `yarn twenty dev:add pageLayout` | `src/page-layouts/\.ts` | ## Что генерирует скэффолдер -У каждого типа сущности есть свой шаблон. Например, `yarn twenty add object` запрашивает: +У каждого типа сущности есть свой шаблон. Например, `yarn twenty dev:add object` запрашивает: 1. **Имя (единственное число)** — например, `invoice` 2. **Имя (множественное число)** — например, `invoices` @@ -54,5 +54,5 @@ yarn twenty add frontComponent Используйте флаг `--path`, чтобы поместить сгенерированный файл в пользовательское расположение: ```bash filename="Terminal" -yarn twenty add logicFunction --path src/custom-folder +yarn twenty dev:add logicFunction --path src/custom-folder ``` diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/troubleshooting.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/troubleshooting.mdx index 6a85a650617..a3c5b8159a9 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/troubleshooting.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/troubleshooting.mdx @@ -4,7 +4,7 @@ description: Распространенные проблемы при перво icon: wrench --- -* **Ошибки Docker** — убедитесь, что Docker Desktop (или демон) запущен перед выполнением `yarn twenty server start`. Сообщение об ошибке укажет правильную команду запуска для вашей ОС. +* **Ошибки Docker** — убедитесь, что Docker Desktop (или демон) запущен перед выполнением `yarn twenty docker:start`. Сообщение об ошибке укажет правильную команду запуска для вашей ОС. * **Неподходящая версия Node** — нужна 24+. Проверьте с помощью `node -v`. * **Отсутствует Yarn 4** — выполните `corepack enable`. * **Зависимости повреждены** — `rm -rf node_modules && yarn install`. diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/logic/logic-functions.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/logic/logic-functions.mdx index 255c499d166..2eade8f24e3 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/logic/logic-functions.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/logic/logic-functions.mdx @@ -61,17 +61,17 @@ export default defineLogicFunction({ Вы также можете вручную выполнить функцию с помощью CLI: ```bash filename="Terminal" -yarn twenty exec -n create-new-post-card -p '{"key": "value"}' +yarn twenty dev:function:exec -n create-new-post-card -p '{"key": "value"}' ``` ```bash filename="Terminal" -yarn twenty exec -y e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf ``` Вы можете просматривать логи с помощью: ```bash filename="Terminal" -yarn twenty logs +yarn twenty dev:function:logs ``` @@ -340,7 +340,7 @@ export default defineLogicFunction({ -`CoreApiClient` — основной клиент для запросов и изменений данных рабочего пространства. Он **генерируется из схемы вашего рабочего пространства** во время `yarn twenty dev` или `yarn twenty build`, поэтому полностью типизирован в соответствии с вашими объектами и полями. +`CoreApiClient` — основной клиент для запросов и изменений данных рабочего пространства. Он **генерируется из схемы вашего рабочего пространства** во время `yarn twenty dev` или `yarn twenty dev:build`, поэтому полностью типизирован в соответствии с вашими объектами и полями. ```ts import { CoreApiClient } from 'twenty-client-sdk/core'; @@ -380,7 +380,7 @@ const { createCompany } = await client.mutation({ Клиент использует синтаксис selection-set: передайте `true`, чтобы включить поле, используйте `__args` для аргументов и вкладывайте объекты для отношений. Вы получаете полное автодополнение и проверку типов на основе схемы вашего рабочего пространства. -**CoreApiClient генерируется на этапе dev/build.** Если вы используете его, не запустив сначала `yarn twenty dev` или `yarn twenty build`, он выбросит ошибку. Генерация происходит автоматически — CLI анализирует GraphQL-схему вашего рабочего пространства и создает типизированный клиент с помощью `@genql/cli`. +**CoreApiClient генерируется на этапе dev/build.** Если вы используете его, не запустив сначала `yarn twenty dev` или `yarn twenty dev:build`, он выбросит ошибку. Генерация происходит автоматически — CLI анализирует GraphQL-схему вашего рабочего пространства и создает типизированный клиент с помощью `@genql/cli`. #### Использование CoreSchema для аннотаций типов diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/operations/cli.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/operations/cli.mdx index 77c1b472d50..f897642ab42 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/operations/cli.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/operations/cli.mdx @@ -4,54 +4,54 @@ description: Команды `yarn twenty` для выполнения функц icon: terminal --- -Помимо `dev`, `build`, `add` и `typecheck`, CLI `yarn twenty` предоставляет команды для выполнения функций, просмотра логов и управления установками приложений. +Помимо `dev`, `dev:build`, `dev:add` и `dev:typecheck`, CLI `yarn twenty` предоставляет команды для выполнения функций, просмотра логов и управления установками приложений. -## Выполнение функций (`yarn twenty exec`) +## Выполнение функций (`yarn twenty dev:function:exec`) Запустите логическую функцию вручную, не вызывая её через HTTP, cron или событие базы данных: ```bash filename="Terminal" # Execute by function name -yarn twenty exec -n create-new-post-card +yarn twenty dev:function:exec -n create-new-post-card # Execute by universalIdentifier -yarn twenty exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf # Pass a JSON payload -yarn twenty exec -n create-new-post-card -p '{"name": "Hello"}' +yarn twenty dev:function:exec -n create-new-post-card -p '{"name": "Hello"}' # Execute the post-install function -yarn twenty exec --postInstall +yarn twenty dev:function:exec --postInstall ``` -## Просмотр логов функций (`yarn twenty logs`) +## Просмотр логов функций (`yarn twenty dev:function:logs`) Потоковая передача журналов выполнения логических функций вашего приложения: ```bash filename="Terminal" # Stream all function logs -yarn twenty logs +yarn twenty dev:function:logs # Filter by function name -yarn twenty logs -n create-new-post-card +yarn twenty dev:function:logs -n create-new-post-card # Filter by universalIdentifier -yarn twenty logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf ``` -Это отличается от `yarn twenty server logs`, который показывает логи контейнера Docker. `yarn twenty logs` показывает журналы выполнения функций вашего приложения с сервера Twenty. +Это отличается от `yarn twenty docker:logs`, который показывает логи контейнера Docker. `yarn twenty dev:function:logs` показывает журналы выполнения функций вашего приложения с сервера Twenty. -## Удаление приложения (`yarn twenty uninstall`) +## Удаление приложения (`yarn twenty app:uninstall`) Удалите свое приложение из активного рабочего пространства: ```bash filename="Terminal" -yarn twenty uninstall +yarn twenty app:uninstall # Skip the confirmation prompt -yarn twenty uninstall --yes +yarn twenty app:uninstall --yes ``` ## Управление удалёнными серверами @@ -60,19 +60,19 @@ yarn twenty uninstall --yes ```bash filename="Terminal" # Add a new remote (opens a browser for OAuth login) -yarn twenty remote add +yarn twenty remote:add # Connect to a local Twenty server (auto-detects port 2020 or 3000) -yarn twenty remote add --local +yarn twenty remote:add --local # Add a remote non-interactively (useful for CI) -yarn twenty remote add --api-url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote +yarn twenty remote:add --url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote # List all configured remotes -yarn twenty remote list +yarn twenty remote:list -# Switch the active remote -yarn twenty remote switch +# Set the active remote +yarn twenty remote:use ``` Ваши учётные данные хранятся в `~/.twenty/config.json`. diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/operations/overview.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/operations/overview.mdx index e35fafc6f76..2ee009edee3 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/operations/overview.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/operations/overview.mdx @@ -9,9 +9,9 @@ icon: rocket ```text develop ─▶ test ─▶ build ─▶ deploy / publish ─────── ──── ───── ───────────────── - yarn yarn yarn yarn twenty deploy (tarball → one server) + yarn yarn yarn yarn twenty app:publish --private (tarball → one server) twenty test twenty - dev build yarn twenty publish (npm → marketplace) + dev dev:build yarn twenty app:publish (npm → marketplace) ``` ## В этом разделе diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/operations/publishing.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/operations/publishing.mdx index 4f3e30ace91..01d7e87a862 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/operations/publishing.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/operations/publishing.mdx @@ -18,10 +18,10 @@ description: Распространяйте своё приложение Twenty Выполните команду сборки, чтобы скомпилировать приложение и сгенерировать готовый к распространению `manifest.json`: ```bash filename="Terminal" -yarn twenty build +yarn twenty dev:build ``` -Это компилирует исходные файлы TypeScript, транспилирует функции логики и фронтенд-компоненты и записывает всё в `.twenty/output/`. Добавьте `--tarball`, чтобы также создать пакет `.tgz` для ручного распространения или для команды deploy. +Это компилирует исходные файлы TypeScript, транспилирует функции логики и фронтенд-компоненты и записывает всё в `.twenty/output/`. Добавьте `--tarball`, чтобы также создать пакет `.tgz` для ручного распространения или для команды publish. ## Развертывание на сервер (tarball) @@ -34,7 +34,7 @@ yarn twenty build Добавьте remote: ```bash filename="Terminal" -yarn twenty remote add --api-url https://your-twenty-server.com --as production +yarn twenty remote:add --url https://your-twenty-server.com --as production ``` ### Развертывание @@ -42,9 +42,9 @@ yarn twenty remote add --api-url https://your-twenty-server.com --as production Соберите и загрузите ваше приложение на сервер в одном шаге: ```bash filename="Terminal" -yarn twenty deploy +yarn twenty app:publish --private # To deploy to a specific remote: -# yarn twenty deploy --remote production +# yarn twenty app:publish --private --remote production ``` ### Общий доступ к развернутому приложению @@ -68,7 +68,7 @@ yarn twenty deploy Чтобы выпустить обновление: 1. Увеличьте значение поля `version` в вашем `package.json` (например: `1.2.3` → `1.2.4`, `1.3.0` или `2.0.0`). -2. Выполните `yarn twenty deploy` (или `yarn twenty deploy --remote production`) +2. Выполните `yarn twenty app:publish --private` (или `yarn twenty app:publish --private --remote production`) 3. Рабочие пространства, в которых установлено приложение, увидят доступное обновление в своих настройках @@ -121,7 +121,7 @@ yarn twenty deploy **Что делает:** 1. Извлекает исходный код вашего приложения. -2. Запускает изолированный тестовый экземпляр Twenty с помощью составного действия `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` (эквивалент для CI `yarn twenty server start --test`). +2. Запускает изолированный тестовый экземпляр Twenty с помощью составного действия `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` (эквивалент для CI `yarn twenty docker:start --test`). 3. Включает Corepack, настраивает Node.js на основе вашего `.nvmrc` и устанавливает зависимости с помощью `yarn install --immutable`. 4. Запускает `yarn test`, передавая `TWENTY_API_URL` и `TWENTY_API_KEY` из запущенного экземпляра, чтобы ваши тесты могли взаимодействовать с реальным сервером. @@ -139,7 +139,7 @@ yarn twenty deploy **Что делает:** 1. Извлекает head-коммит PR (для PR с меткой) или запушенный коммит. -2. Запускает `twentyhq/twenty/.github/actions/deploy-twenty-app@main` — эквивалент для CI `yarn twenty deploy`. +2. Запускает `twentyhq/twenty/.github/actions/deploy-twenty-app@main` — эквивалент для CI `yarn twenty app:publish --private`. 3. Запускает `twentyhq/twenty/.github/actions/install-twenty-app@main`, чтобы новая развернутая версия была установлена в целевое рабочее пространство. **Обязательная конфигурация:** @@ -208,13 +208,13 @@ export default defineApplication({ ### Публикация ```bash filename="Terminal" -yarn twenty publish +yarn twenty app:publish ``` Чтобы опубликовать с определённым dist-tag (например, `beta` или `next`): ```bash filename="Terminal" -yarn twenty publish --tag beta +yarn twenty app:publish --tag beta ``` ### Как работает обнаружение приложений в маркетплейсе @@ -224,9 +224,9 @@ yarn twenty publish --tag beta Вы можете запустить синхронизацию немедленно, вместо ожидания: ```bash filename="Terminal" -yarn twenty server catalog-sync +yarn twenty dev:catalog-sync # To target a specific remote: -# yarn twenty server catalog-sync --remote production +# yarn twenty dev:catalog-sync --remote production ``` Метаданные, отображаемые в маркетплейсе, берутся из конфигурации `defineApplication()` — из таких полей, как `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl` и `termsUrl`. @@ -259,12 +259,12 @@ jobs: node-version: "24" registry-url: https://registry.npmjs.org - run: yarn install --immutable - - run: npx twenty build + - run: npx twenty dev:build - run: npm publish --provenance --access public working-directory: .twenty/output ``` -Для других CI-систем (GitLab CI, CircleCI и др.) применимы те же три команды: `yarn install`, `yarn twenty build`, затем `npm publish` из `.twenty/output`. +Для других CI-систем (GitLab CI, CircleCI и др.) применимы те же три команды: `yarn install`, `yarn twenty dev:build`, затем `npm publish` из `.twenty/output`. **npm provenance** — опционально, но рекомендуется. Публикация с флагом `--provenance` добавляет к вашему пакету в npm значок доверия, позволяя пользователям проверить, что пакет был собран из конкретного коммита в общедоступном конвейере CI. См. инструкции по настройке в [документации по npm provenance](https://docs.npmjs.com/generating-provenance-statements). @@ -281,7 +281,7 @@ jobs: Вы также можете устанавливать приложения из командной строки: ```bash filename="Terminal" -yarn twenty install +yarn twenty app:install ``` @@ -290,5 +290,5 @@ yarn twenty install * Установка той же версии, которая уже установлена в вашем рабочем пространстве, отклоняется с ошибкой `APP_ALREADY_INSTALLED`. * Установка версии ниже текущей отклоняется с ошибкой `CANNOT_DOWNGRADE_APPLICATION`. -Чтобы установить более новую версию, сначала разверните или опубликуйте её, затем снова выполните `yarn twenty install`. +Чтобы установить более новую версию, сначала разверните или опубликуйте её, затем снова выполните `yarn twenty app:install`. diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/operations/testing.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/operations/testing.mdx index 81acecd3aa9..d8c920c8192 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/operations/testing.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/operations/testing.mdx @@ -235,7 +235,7 @@ yarn test:watch Вы также можете запустить проверку типов для своего приложения без запуска тестов: ```bash filename="Terminal" -yarn twenty typecheck +yarn twenty dev:typecheck ``` Это запускает `tsc --noEmit` и сообщает о любых ошибках типов. diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/config/install-hooks.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/config/install-hooks.mdx index fa1d8b84bfc..a119f8ae9ee 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/config/install-hooks.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/config/install-hooks.mdx @@ -45,7 +45,7 @@ export default definePostInstallLogicFunction({ Ayrıca kurulum sonrası işlevi istediğiniz zaman CLI kullanarak manuel olarak çalıştırabilirsiniz: ```bash filename="Terminal" -yarn twenty exec --postInstall +yarn twenty dev:function:exec --postInstall ``` Önemli noktalar: @@ -60,7 +60,7 @@ yarn twenty exec --postInstall * Uygulama başına yalnızca bir kurulum sonrası işlevine izin verilir. Birden fazla tespit edilirse manifest oluşturma hataya düşer. * İşlevin `universalIdentifier`, `shouldRunOnVersionUpgrade` ve `shouldRunSynchronously` değerleri, derleme sırasında uygulama manifestine `postInstallLogicFunction` alanı altında otomatik olarak eklenir — bunlara [`defineApplication()`](/l/tr/developers/extend/apps/config/application) içinde atıfta bulunmanıza gerek yoktur. * Varsayılan zaman aşımı, veri tohumlama gibi daha uzun kurulum görevlerine izin vermek için 300 saniye (5 dakika) olarak ayarlanmıştır. -* **Geliştirme modunda çalıştırılmaz**: bir uygulama yerel olarak kaydedildiğinde (`yarn twenty dev` aracılığıyla), sunucu kurulum akışını tamamen atlar ve dosyaları doğrudan CLI watcher üzerinden eşitler — bu nedenle, `shouldRunSynchronously` ne olursa olsun, kurulum sonrası geliştirme modunda hiç çalışmaz. Çalışan bir çalışma alanında bunu elle tetiklemek için `yarn twenty exec --postInstall` kullanın. +* **Geliştirme modunda çalıştırılmaz**: bir uygulama yerel olarak kaydedildiğinde (`yarn twenty dev` aracılığıyla), sunucu kurulum akışını tamamen atlar ve dosyaları doğrudan CLI watcher üzerinden eşitler — bu nedenle, `shouldRunSynchronously` ne olursa olsun, kurulum sonrası geliştirme modunda hiç çalışmaz. Çalışan bir çalışma alanında bunu elle tetiklemek için `yarn twenty dev:function:exec --postInstall` kullanın. @@ -87,7 +87,7 @@ export default definePreInstallLogicFunction({ Ayrıca kurulum öncesi işlevi istediğiniz zaman CLI kullanarak manuel olarak çalıştırabilirsiniz: ```bash filename="Terminal" -yarn twenty exec --preInstall +yarn twenty dev:function:exec --preInstall ``` Önemli noktalar: @@ -96,7 +96,7 @@ yarn twenty exec --preInstall * **Kanca ne zaman çalışır**: çalışma alanı üstveri (metadata) geçişinden hemen önce konumlandırılır (`synchronizeFromManifest`). Çalıştırmadan önce, sunucu yalnızca ekleyici bir "indirgenmiş eşitleme" yürütür; bu, çalışma alanı üstverisinde **yeni** sürümün kurulum öncesi işlevini kaydeder — başka hiçbir şeye dokunulmaz — ve ardından bunu yürütür. Bu eşitleme yalnızca ekleyici olduğundan, işleyiciniz çalıştığında önceki sürümün nesneleri, alanları ve verileri hâlâ sağlamdır: geçiş öncesi durumu güvenle okuyabilir ve yedekleyebilirsiniz. * **Yürütme modeli**: kurulum öncesi **senkron** olarak yürütülür ve **kurulumu bloklar**. İşleyici bir hata fırlatırsa, herhangi bir şema değişikliği uygulanmadan önce kurulum iptal edilir — çalışma alanı, tutarlı bir durumda önceki sürümde kalır. Bu kasıtlıdır: kurulum öncesi, riskli bir yükseltmeyi reddetmek için son şansınızdır. * Kurulum sonrası ile aynı şekilde, uygulama başına yalnızca bir kurulum öncesi işlevine izin verilir. Derleme sırasında uygulama manifestine `preInstallLogicFunction` altında otomatik olarak eklenir. -* **Geliştirme modunda çalıştırılmaz**: kurulum sonrasında olduğu gibi — yerel olarak kaydedilen uygulamalarda kurulum akışı tamamen atlanır, bu nedenle `yarn twenty dev` altında kurulum öncesi hiç çalışmaz. Bunu elle tetiklemek için `yarn twenty exec --preInstall` kullanın. +* **Geliştirme modunda çalıştırılmaz**: kurulum sonrasında olduğu gibi — yerel olarak kaydedilen uygulamalarda kurulum akışı tamamen atlanır, bu nedenle `yarn twenty dev` altında kurulum öncesi hiç çalışmaz. Bunu elle tetiklemek için `yarn twenty dev:function:exec --preInstall` kullanın. diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/config/public-assets.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/config/public-assets.mdx index f8fd45e967a..3837270c961 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/config/public-assets.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/config/public-assets.mdx @@ -13,7 +13,7 @@ Uygulamanızın kökündeki `public/` klasörü, statik dosyaları barındırır * **Mantık işlevlerinde kullanılabilir** — e-postalarda, API yanıtlarında veya herhangi bir sunucu tarafı mantıkta varlık URL'lerine referans verin. * **Pazar yeri üst verileri için kullanılır** — `defineApplication()` içindeki `logoUrl` ve `screenshots` alanları bu klasördeki dosyalara referans verir (örn. `public/logo.png`). Bunlar, uygulamanız yayımlandığında pazar yerinde görüntülenir. * **Geliştirme modunda otomatik senkronize edilir** — `public/` içinde bir dosya eklediğinizde, güncellediğinizde veya sildiğinizde otomatik olarak sunucuya senkronize edilir. Yeniden başlatma gerekmez. -* **Derlemelere dahil edilir** — `yarn twenty build`, tüm genel varlıkları dağıtım çıktısına paketler. +* **Derlemelere dahil edilir** — `yarn twenty dev:build`, tüm genel varlıkları dağıtım çıktısına paketler. ## `getPublicAssetUrl` ile genel varlıklara erişme diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/data/objects.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/data/objects.mdx index c251facf723..e624755b884 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/data/objects.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/data/objects.mdx @@ -80,7 +80,7 @@ export default defineObject({ * Her alan bir `name`, `type`, `label` ve kendi kararlı `universalIdentifier` değerini gerektirir. * `fields` dizisi isteğe bağlıdır — özel alanlar olmadan da nesneler tanımlayabilirsiniz. * Burada tanımlanan satır içi alanların bir `objectUniversalIdentifier`'a **ihtiyacı yoktur** — üst nesneden devralınır. Sahibi olmadığınız nesnelere alan eklemek için [`defineField()`](/l/tr/developers/extend/apps/data/extending-objects) kullanın. -* `yarn twenty add object` kullanarak, adlandırma, alanlar ve ilişkiler konusunda sizi yönlendirerek yeni nesneler oluşturabilirsiniz. [Mimari → Varlık iskeleti oluşturma](/l/tr/developers/extend/apps/getting-started/scaffolding) bölümüne bakın. +* `yarn twenty dev:add object` kullanarak, adlandırma, alanlar ve ilişkiler konusunda sizi yönlendirerek yeni nesneler oluşturabilirsiniz. [Mimari → Varlık iskeleti oluşturma](/l/tr/developers/extend/apps/getting-started/scaffolding) bölümüne bakın. **Temel alanlar otomatik olarak eklenir.** Özel bir nesne tanımladığınızda Twenty, sizin için `id`, `name`, `createdAt`, `updatedAt`, `createdBy`, `updatedBy` ve `deletedAt` gibi standart alanlar oluşturur. Bunları `fields` dizinizde bildirmenize gerek yok — yalnızca özel alanlarınızı ekleyin. Aynı ada sahip bir alan bildirerek varsayılan bir alanı geçersiz kılabilirsiniz, ancak bu nadiren iyi bir fikirdir. diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/concepts.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/concepts.mdx index 9a2f495d922..5609de5aadf 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/concepts.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/concepts.mdx @@ -65,7 +65,7 @@ your-app/ │ npx create-twenty-app → yarn twenty dev (live sync) │ ├─────────────────────────────────────────────────────────┤ │ Build & Deploy │ -│ yarn twenty build → yarn twenty deploy │ +│ yarn twenty dev:build → yarn twenty app:publish │ ├─────────────────────────────────────────────────────────┤ │ Install flow │ │ upload → [pre-install] → metadata migration → │ @@ -77,7 +77,7 @@ your-app/ ``` * **`yarn twenty dev`** — kaynak dosyalarınızı izler ve bağlı bir Twenty sunucusuna değişiklikleri canlı olarak senkronize eder. Şema değiştiğinde tipli API istemcisi otomatik olarak yeniden oluşturulur. -* **`yarn twenty build`** — TypeScript'i derler, mantık işlevlerini ve ön uç bileşenlerini esbuild ile paketler ve bir manifest üretir. +* **`yarn twenty dev:build`** — TypeScript'i derler, mantık işlevlerini ve ön uç bileşenlerini esbuild ile paketler ve bir manifest üretir. * **Kurulum öncesi/sonrası kancaları** — kurulum sırasında çalışan isteğe bağlı işlevler. Ayrıntılar için [Kurulum Kancaları](/l/tr/developers/extend/apps/config/install-hooks) bölümüne bakın. ## Sonraki adımlar diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/local-server.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/local-server.mdx index c4c2ee852c3..d39f5885f55 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/local-server.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/local-server.mdx @@ -6,44 +6,44 @@ icon: server ## Yerel sunucuyu yönetme -Yerel Twenty konteynerini kontrol etmek için `yarn twenty server` kullanın: +Yerel Twenty konteynerini kontrol etmek için `yarn twenty docker:*` kullanın: | Komut | Ne yapar | | -------------------------------------- | --------------------------------------------------------- | -| `yarn twenty server start` | Sunucuyu başlatır (gerekirse imajı çeker) | -| `yarn twenty server start --port 3030` | Özel bir portta başlatır | -| `yarn twenty server stop` | Sunucuyu durdurur (verileri korur) | -| `yarn twenty server status` | URL'yi, sürümü ve oturum açma kimlik bilgilerini gösterir | -| `yarn twenty server logs` | Sunucu günlüklerini akış olarak gösterir | -| `yarn twenty server reset` | Verileri siler ve sıfırdan başlatır | -| `yarn twenty server upgrade` | En güncel `twenty-app-dev` imajını çeker | -| `yarn twenty server upgrade 2.2.0` | Belirli bir sürüme yükseltir | +| `yarn twenty docker:start` | Sunucuyu başlatır (gerekirse imajı çeker) | +| `yarn twenty docker:start --port 3030` | Özel bir portta başlatır | +| `yarn twenty docker:stop` | Sunucuyu durdurur (verileri korur) | +| `yarn twenty docker:status` | URL'yi, sürümü ve oturum açma kimlik bilgilerini gösterir | +| `yarn twenty docker:logs` | Sunucu günlüklerini akış olarak gösterir | +| `yarn twenty docker:reset` | Verileri siler ve sıfırdan başlatır | +| `yarn twenty docker:upgrade` | En güncel `twenty-app-dev` imajını çeker | +| `yarn twenty docker:upgrade 2.2.0` | Belirli bir sürüme yükseltir | Veriler, yeniden başlatmalar arasında iki Docker biriminde kalıcıdır (PostgreSQL için `twenty-app-dev-data`, dosyalar için `twenty-app-dev-storage`). Her şeyi silmek için `reset` kullanın. ## Sunucu imajını yükseltme -`yarn twenty server upgrade`, en güncel imajı çeker, özetleri karşılaştırır ve yalnızca gerçekten bir şey değiştiyse konteyneri yeniden oluşturur. Birimler korunur — yalnızca konteyner değiştirilir. Yeni bir imaj çekildiyse ve konteyner çalışıyorsa, yükseltme otomatik olarak yeni bir konteyner başlatır; sağlıklı hale gelmesini beklemek için ardından `yarn twenty server start` çalıştırın. +`yarn twenty docker:upgrade`, en güncel imajı çeker, özetleri karşılaştırır ve yalnızca gerçekten bir şey değiştiyse konteyneri yeniden oluşturur. Birimler korunur — yalnızca konteyner değiştirilir. Yeni bir imaj çekildiyse ve konteyner çalışıyorsa, yükseltme otomatik olarak yeni bir konteyner başlatır; sağlıklı hale gelmesini beklemek için ardından `yarn twenty docker:start` çalıştırın. ```bash filename="Terminal" -yarn twenty server upgrade # Latest -yarn twenty server upgrade 2.2.0 # Specific version +yarn twenty docker:upgrade # Latest +yarn twenty docker:upgrade 2.2.0 # Specific version ``` -`yarn twenty server status` ile çalışan sürümü doğrulayabilirsiniz (konteynere gömülü `APP_VERSION` değerini gösterir). +Çalışan sürümü `yarn twenty docker:status` ile doğrulayabilirsiniz (konteynere gömülü `APP_VERSION` değerini gösterir). ## Paralel bir test örneği çalıştırma -`server` komutlarının herhangi birine `--test` parametresini vererek ikinci, tamamen yalıtılmış bir örneği yönetin — entegrasyon testlerini çalıştırmak veya ana geliştirme verilerinize dokunmadan denemeler yapmak için kullanışlıdır: +Ana geliştirme verilerinize dokunmadan entegrasyon testlerini veya denemeleri yürütmek için, herhangi bir `docker:*` komutuna `--test` parametresini vererek ikinci, tamamen yalıtılmış bir örneği yönetebilirsiniz: | Komut | Ne yapar | | ----------------------------------- | ------------------------------------------------------------- | -| `yarn twenty server start --test` | Test örneğini başlatır (varsayılan bağlantı noktası 2021'dir) | -| `yarn twenty server stop --test` | Durdurur | -| `yarn twenty server status --test` | Durumunu gösterir | -| `yarn twenty server logs --test` | Günlüklerini akış olarak gösterir | -| `yarn twenty server reset --test` | Verilerini siler | -| `yarn twenty server upgrade --test` | İmajını yükseltir | +| `yarn twenty docker:start --test` | Test örneğini başlatır (varsayılan bağlantı noktası 2021'dir) | +| `yarn twenty docker:stop --test` | Durdurur | +| `yarn twenty docker:status --test` | Durumunu gösterir | +| `yarn twenty docker:logs --test` | Günlüklerini akış olarak gösterir | +| `yarn twenty docker:reset --test` | Verilerini siler | +| `yarn twenty docker:upgrade --test` | İmajını yükseltir | Test örneği, kendine ait bir Docker konteynerinde (`twenty-app-dev-test`), ayrılmış birimlerle (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) ve yapılandırmayla çalışır; böylece ana örneğinizle çakışma olmadan paralel olarak çalışabilir. Varsayılan 2021'i geçersiz kılmak için `--test` ile `--port`'u birlikte kullanın. @@ -65,7 +65,7 @@ yarn add twenty-sdk twenty-client-sdk } ``` -Artık `yarn twenty dev`, `yarn twenty server start` ve diğerlerini çalıştırabilirsiniz. +Artık `yarn twenty dev`, `yarn twenty docker:start` ve diğerlerini çalıştırabilirsiniz. `twenty-sdk`'yi global olarak kurmayın — her uygulama kendi sürümünü kullansın diye proje bazında sabitleyin. diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/quick-start.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/quick-start.mdx index b06893683c7..f2ff0610757 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/quick-start.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/quick-start.mdx @@ -43,7 +43,7 @@ Uygulamanızın eşitleme yapacağı bir Twenty sunucusuna ihtiyacı vardır. Su > **Yerel bir Twenty örneği kurmak ister misiniz?** * **Evet (önerilir)** — `twentycrm/twenty-app-dev` Docker imajını çeker ve `2020` portunda başlatır. Önce Docker'ın çalıştığından emin olun. -* **Hayır** — Zaten bağlanmak istediğiniz bir Twenty sunucunuz varsa bunu seçin. Bunu daha sonra `yarn twenty remote add` ile bağlayabilirsiniz. +* **Hayır** — Zaten bağlanmak istediğiniz bir Twenty sunucunuz varsa bunu seçin. Bunu daha sonra `yarn twenty remote:add` ile bağlayabilirsiniz.
Yerel örnek başlatılsın mı? @@ -73,7 +73,7 @@ Terminaliniz her şeyin kurulduğunu onaylayacaktır. **Bu aşamadan sonra:** [http://localhost:2020](http://localhost:2020) adresinde çalışan bir Twenty sunucunuz ve ona eşitleme yapmak için yetkilendirilmiş bir CLI'ınız olur. -Docker yüklü değilse veya çalışmıyorsa, iskelet oluşturucu işletim sisteminiz için doğru başlatma komutunu söyleyecektir. Docker çalışır duruma geldiğinde, `yarn twenty server start` ile devam edebilirsiniz — yeniden iskelet oluşturmaya gerek yok. +Docker yüklü değilse veya çalışmıyorsa, iskelet oluşturucu işletim sisteminiz için doğru başlatma komutunu söyleyecektir. Docker çalışır duruma geldiğinde, `yarn twenty docker:start` ile devam edebilirsiniz — yeniden iskelet oluşturmaya gerek yok. --- diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/scaffolding.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/scaffolding.mdx index b5353c3a633..a5fb8668866 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/scaffolding.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/scaffolding.mdx @@ -1,13 +1,13 @@ --- title: İskelet Oluşturma -description: yarn twenty add komutuyla etkileşimli olarak nesne, alan, görünüm, mantık işlevi ve daha fazlasına ait varlık dosyaları oluşturun. +description: Nesne, alan, görünüm, mantık işlevi ve daha fazlasına ait varlık dosyalarını `yarn twenty dev:add` komutuyla etkileşimli olarak oluşturun. icon: wand-magic-sparkles --- Varlık dosyalarını elle oluşturmak yerine etkileşimli iskelet oluşturucuyu kullanın: ```bash filename="Terminal" -yarn twenty add +yarn twenty dev:add ``` Bir varlık türü seçmeniz için sizi yönlendirir ve gerekli alanlarda adım adım ilerlemenizi sağlar, ardından sabit bir `universalIdentifier` ve doğru `defineEntity()` çağrısıyla kullanıma hazır bir dosya yazar. @@ -15,29 +15,29 @@ Bir varlık türü seçmeniz için sizi yönlendirir ve gerekli alanlarda adım İlk istemi atlamak için varlık türünü doğrudan da geçebilirsiniz: ```bash filename="Terminal" -yarn twenty add object -yarn twenty add logicFunction -yarn twenty add frontComponent +yarn twenty dev:add object +yarn twenty dev:add logicFunction +yarn twenty dev:add frontComponent ``` ## Kullanılabilir varlık türleri -| Varlık türü | Komut | Oluşturulan dosya | -| -------------------- | ------------------------------------ | ------------------------------------------------------- | -| Nesne | `yarn twenty add object` | `src/objects/\.ts` | -| Alan | `yarn twenty add field` | `src/fields/\.ts` | -| Mantık işlevi | `yarn twenty add logicFunction` | `src/logic-functions/\.ts` | -| Ön uç bileşeni | `yarn twenty add frontComponent` | `src/front-components/\.tsx` | -| Rol | `yarn twenty add role` | `src/roles/\.ts` | -| Beceri | `yarn twenty add skill` | `src/skills/\.ts` | -| Temsilci | `yarn twenty add agent` | `src/agents/\.ts` | -| Görünüm | `yarn twenty add view` | `src/views/\.ts` | -| Gezinme menüsü öğesi | `yarn twenty add navigationMenuItem` | `src/navigation-menu-items/\.ts` | -| Sayfa düzeni | `yarn twenty add pageLayout` | `src/page-layouts/\.ts` | +| Varlık türü | Komut | Oluşturulan dosya | +| -------------------- | ---------------------------------------- | ------------------------------------------------------- | +| Nesne | `yarn twenty dev:add object` | `src/objects/\.ts` | +| Alan | `yarn twenty dev:add field` | `src/fields/\.ts` | +| Mantık işlevi | `yarn twenty dev:add logicFunction` | `src/logic-functions/\.ts` | +| Ön uç bileşeni | `yarn twenty dev:add frontComponent` | `src/front-components/\.tsx` | +| Rol | `yarn twenty dev:add role` | `src/roles/\.ts` | +| Beceri | `yarn twenty dev:add skill` | `src/skills/\.ts` | +| Temsilci | `yarn twenty dev:add agent` | `src/agents/\.ts` | +| Görünüm | `yarn twenty dev:add view` | `src/views/\.ts` | +| Gezinme menüsü öğesi | `yarn twenty dev:add navigationMenuItem` | `src/navigation-menu-items/\.ts` | +| Sayfa düzeni | `yarn twenty dev:add pageLayout` | `src/page-layouts/\.ts` | ## İskelet oluşturucunun ürettikleri -Her varlık türünün kendi şablonu vardır. Örneğin, `yarn twenty add object` şunları sorar: +Her varlık türünün kendi şablonu vardır. Örneğin, `yarn twenty dev:add object` şunları sorar: 1. **Ad (tekil)** — ör. `invoice` 2. **Ad (çoğul)** — ör. `invoices` @@ -54,5 +54,5 @@ Diğer varlık türlerinin istemleri daha basittir — çoğu yalnızca bir ad s `--path` bayrağını kullanarak oluşturulan dosyayı özel bir konuma yerleştirin: ```bash filename="Terminal" -yarn twenty add logicFunction --path src/custom-folder +yarn twenty dev:add logicFunction --path src/custom-folder ``` diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/troubleshooting.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/troubleshooting.mdx index 7b2058eed8c..4f0312e73ae 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/troubleshooting.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/troubleshooting.mdx @@ -4,7 +4,7 @@ description: Yaygın ilk çalıştırma sorunları — Docker, Node sürümü, Y icon: anahtar --- -* **Docker hataları** — `yarn twenty server start` öncesinde Docker Desktop'ın (veya daemon'ın) çalıştığından emin olun. Hata iletisi, işletim sisteminiz için doğru başlatma komutunu gösterecektir. +* **Docker hataları** — `yarn twenty docker:start` öncesinde Docker Desktop'ın (veya daemon'un) çalıştığından emin olun. Hata iletisi, işletim sisteminiz için doğru başlatma komutunu gösterecektir. * **Yanlış Node sürümü** — 24+ gerekir. `node -v` ile kontrol edin. * **Yarn 4 eksik** — `corepack enable` çalıştırın. * **Bağımlılıklar bozuk** — `rm -rf node_modules && yarn install`. diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/logic/logic-functions.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/logic/logic-functions.mdx index 325bfced7ab..c7d166712b9 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/logic/logic-functions.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/logic/logic-functions.mdx @@ -61,17 +61,17 @@ Kullanılabilir tetikleyici türleri: Bir işlevi CLI kullanarak manuel olarak da çalıştırabilirsiniz: ```bash filename="Terminal" -yarn twenty exec -n create-new-post-card -p '{"key": "value"}' +yarn twenty dev:function:exec -n create-new-post-card -p '{"key": "value"}' ``` ```bash filename="Terminal" -yarn twenty exec -y e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf ``` Günlükleri şu şekilde izleyebilirsiniz: ```bash filename="Terminal" -yarn twenty logs +yarn twenty dev:function:logs ``` @@ -341,7 +341,7 @@ export default defineLogicFunction({ -`CoreApiClient`, çalışma alanı verilerini sorgulamak ve değiştirmek için ana istemcidir. `yarn twenty dev` veya `yarn twenty build` sırasında **çalışma alanı şemanızdan oluşturulur**, bu nedenle nesnelerinize ve alanlarınıza uyacak şekilde tamamen tiplenmiştir. +`CoreApiClient`, çalışma alanı verilerini sorgulamak ve değiştirmek için ana istemcidir. `yarn twenty dev` veya `yarn twenty dev:build` sırasında **çalışma alanı şemanızdan oluşturulur**, bu nedenle nesnelerinize ve alanlarınıza uyacak şekilde tamamen tiplenmiştir. ```ts import { CoreApiClient } from 'twenty-client-sdk/core'; @@ -381,7 +381,7 @@ const { createCompany } = await client.mutation({ İstemci bir seçim kümesi sözdizimi kullanır: Bir alanı dahil etmek için `true` geçin, bağımsız değişkenler için `__args` kullanın ve ilişkiler için nesneleri iç içe yerleştirin. Çalışma alanı şemanıza göre tam otomatik tamamlama ve tip denetimi elde edersiniz. -**CoreApiClient geliştirme/derleme zamanında oluşturulur.** Bunu önce `yarn twenty dev` veya `yarn twenty build` çalıştırmadan kullanırsanız, bir hata verir. Oluşturma otomatik olarak gerçekleşir — CLI, çalışma alanınızın GraphQL şemasını inceler ve `@genql/cli` kullanarak tiplenmiş bir istemci üretir. +**CoreApiClient geliştirme/derleme zamanında oluşturulur.** Bunu önce `yarn twenty dev` veya `yarn twenty dev:build` çalıştırmadan kullanırsanız, bir hata verir. Oluşturma otomatik olarak gerçekleşir — CLI, çalışma alanınızın GraphQL şemasını inceler ve `@genql/cli` kullanarak tiplenmiş bir istemci üretir. #### Tür açıklamaları için CoreSchema'yı kullanma diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/operations/cli.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/operations/cli.mdx index 4b4f52b5822..b60ff7d9a2d 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/operations/cli.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/operations/cli.mdx @@ -4,54 +4,54 @@ description: Fonksiyonları çalıştırmak, günlükleri akış olarak izlemek, icon: terminal --- -`dev`, `build`, `add` ve `typecheck` dışında, `yarn twenty` CLI, fonksiyonları çalıştırma, günlükleri görüntüleme ve uygulama kurulumlarını yönetme komutları sağlar. +`dev`, `dev:build`, `dev:add` ve `dev:typecheck` dışında, `yarn twenty` CLI, fonksiyonları çalıştırma, günlükleri görüntüleme ve uygulama kurulumlarını yönetme komutları sağlar. -## Fonksiyonları çalıştırma (`yarn twenty exec`) +## Fonksiyonları çalıştırma (`yarn twenty dev:function:exec`) Bir mantık fonksiyonunu HTTP, cron veya veritabanı olayıyla tetiklemeden manuel olarak çalıştırın: ```bash filename="Terminal" # Execute by function name -yarn twenty exec -n create-new-post-card +yarn twenty dev:function:exec -n create-new-post-card # Execute by universalIdentifier -yarn twenty exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf # Pass a JSON payload -yarn twenty exec -n create-new-post-card -p '{"name": "Hello"}' +yarn twenty dev:function:exec -n create-new-post-card -p '{"name": "Hello"}' # Execute the post-install function -yarn twenty exec --postInstall +yarn twenty dev:function:exec --postInstall ``` -## Fonksiyon günlüklerini görüntüleme (`yarn twenty logs`) +## Fonksiyon günlüklerini görüntüleme (`yarn twenty dev:function:logs`) Uygulamanızın mantık fonksiyonlarının yürütme günlüklerini akış olarak alın: ```bash filename="Terminal" # Stream all function logs -yarn twenty logs +yarn twenty dev:function:logs # Filter by function name -yarn twenty logs -n create-new-post-card +yarn twenty dev:function:logs -n create-new-post-card # Filter by universalIdentifier -yarn twenty logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf ``` -Bu, Docker konteyner günlüklerini gösteren `yarn twenty server logs` komutundan farklıdır. `yarn twenty logs`, uygulamanızın fonksiyon yürütme günlüklerini Twenty sunucusundan gösterir. +Bu, Docker konteyner günlüklerini gösteren `yarn twenty docker:logs` komutundan farklıdır. `yarn twenty dev:function:logs`, uygulamanızın fonksiyon yürütme günlüklerini Twenty sunucusundan gösterir. -## Bir uygulamayı kaldırma (`yarn twenty uninstall`) +## Bir uygulamayı kaldırma (`yarn twenty app:uninstall`) Uygulamanızı etkin çalışma alanından kaldırın: ```bash filename="Terminal" -yarn twenty uninstall +yarn twenty app:uninstall # Skip the confirmation prompt -yarn twenty uninstall --yes +yarn twenty app:uninstall --yes ``` ## Uzakları yönetme @@ -60,19 +60,19 @@ Bir **uzak**, uygulamanızın bağlandığı Twenty sunucusudur. Kurulum sıras ```bash filename="Terminal" # Add a new remote (opens a browser for OAuth login) -yarn twenty remote add +yarn twenty remote:add # Connect to a local Twenty server (auto-detects port 2020 or 3000) -yarn twenty remote add --local +yarn twenty remote:add --local # Add a remote non-interactively (useful for CI) -yarn twenty remote add --api-url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote +yarn twenty remote:add --url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote # List all configured remotes -yarn twenty remote list +yarn twenty remote:list -# Switch the active remote -yarn twenty remote switch +# Set the active remote +yarn twenty remote:use ``` Kimlik bilgileriniz `~/.twenty/config.json` içinde saklanır. diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/operations/overview.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/operations/overview.mdx index 7921046a9bf..fda032f71e9 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/operations/overview.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/operations/overview.mdx @@ -9,9 +9,9 @@ icon: rocket ```text develop ─▶ test ─▶ build ─▶ deploy / publish ─────── ──── ───── ───────────────── - yarn yarn yarn yarn twenty deploy (tarball → one server) + yarn yarn yarn yarn twenty app:publish --private (tarball → one server) twenty test twenty - dev build yarn twenty publish (npm → marketplace) + dev dev:build yarn twenty app:publish (npm → marketplace) ``` ## Bu bölümde diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/operations/publishing.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/operations/publishing.mdx index 1b7773e1164..d55e7f55fb9 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/operations/publishing.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/operations/publishing.mdx @@ -18,10 +18,10 @@ Her iki yol da aynı **build** adımından başlar. Uygulamanızı derlemek ve dağıtıma hazır bir `manifest.json` oluşturmak için build komutunu çalıştırın: ```bash filename="Terminal" -yarn twenty build +yarn twenty dev:build ``` -Bu işlem TypeScript kaynaklarını derler, mantık işlevlerini ve ön uç bileşenlerini transpile eder ve her şeyi `.twenty/output/` konumuna yazar. El ile dağıtım veya deploy komutu için bir `.tgz` paketini de üretmek amacıyla `--tarball` ekleyin. +Bu işlem TypeScript kaynaklarını derler, mantık işlevlerini ve ön uç bileşenlerini transpile eder ve her şeyi `.twenty/output/` konumuna yazar. El ile dağıtım veya yayımlama komutu için bir `.tgz` paketini de üretmek amacıyla `--tarball` ekleyin. ## Sunucuya dağıtım (tarball) @@ -34,7 +34,7 @@ Dağıtmadan önce, hedef sunucuyu işaret eden yapılandırılmış bir remote Bir remote ekleyin: ```bash filename="Terminal" -yarn twenty remote add --api-url https://your-twenty-server.com --as production +yarn twenty remote:add --url https://your-twenty-server.com --as production ``` ### Dağıtım @@ -42,9 +42,9 @@ yarn twenty remote add --api-url https://your-twenty-server.com --as production Uygulamanızı tek adımda derleyip sunucuya yükleyin: ```bash filename="Terminal" -yarn twenty deploy +yarn twenty app:publish --private # To deploy to a specific remote: -# yarn twenty deploy --remote production +# yarn twenty app:publish --private --remote production ``` ### Dağıtılmış bir uygulamayı paylaşma @@ -68,7 +68,7 @@ Halihazırda dağıtılmış bir tarball uygulamasını güncellerken, sunucu `p Bir güncelleme yayımlamak için: 1. `package.json` içindeki `version` alanını artırın (ör. `1.2.3` → `1.2.4`, `1.3.0` veya `2.0.0`) -2. `yarn twenty deploy` (veya `yarn twenty deploy --remote production`) komutunu çalıştırın +2. `yarn twenty app:publish --private` (veya `yarn twenty app:publish --private --remote production`) komutunu çalıştırın 3. Uygulamayı kurmuş olan çalışma alanları, ayarlarında mevcut güncellemeyi görecektir @@ -121,7 +121,7 @@ Entegrasyon testlerini `main` dalına yapılan her itmede ve her çekme isteğin **Ne yapar:** 1. Uygulamanızın kaynak kodunu alır. -2. `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` bileşik eylemini kullanarak yalıtılmış bir Twenty test örneği başlatır (CI'daki `yarn twenty server start --test` eşdeğeri). +2. `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` bileşik eylemini kullanarak yalıtılmış bir Twenty test örneği başlatır (CI'daki `yarn twenty docker:start --test` eşdeğeridir). 3. Corepack’i etkinleştirir, `.nvmrc` dosyanızdan Node.js'i kurar ve bağımlılıkları `yarn install --immutable` ile yükler. 4. Oluşturulan örnekten `TWENTY_API_URL` ve `TWENTY_API_KEY` değerlerini aktararak `yarn test`i çalıştırır; böylece testleriniz gerçek bir sunucuyla haberleşebilir. @@ -139,7 +139,7 @@ Gizli anahtar gerekmez — test örneği geçicidir ve yalnızca iş süresi boy **Ne yapar:** 1. Etiketli PR'ler için PR'in head commit'ini ya da itilen commit'i alır. -2. `twentyhq/twenty/.github/actions/deploy-twenty-app@main` çalıştırır — `yarn twenty deploy` komutunun CI eşdeğeridir. +2. `twentyhq/twenty/.github/actions/deploy-twenty-app@main` çalıştırır — `yarn twenty app:publish --private` komutunun CI eşdeğeridir. 3. `twentyhq/twenty/.github/actions/install-twenty-app@main` eylemini çalıştırır; böylece yeni dağıtılan sürüm hedef çalışma alanına kurulur. **Gerekli yapılandırma:** @@ -208,13 +208,13 @@ Herhangi bir en-boy oranındaki ekran görüntüleri eksiksiz görüntülenir ve ### Yayımla ```bash filename="Terminal" -yarn twenty publish +yarn twenty app:publish ``` Belirli bir dist-tag altında yayımlamak için (ör. `beta` veya `next`): ```bash filename="Terminal" -yarn twenty publish --tag beta +yarn twenty app:publish --tag beta ``` ### Pazar yerinde keşif nasıl çalışır @@ -224,9 +224,9 @@ Twenty sunucusu pazar yeri kataloğunu npm kayıt defterinden **her saat** eşit Beklemek yerine eşitlemeyi hemen tetikleyebilirsiniz: ```bash filename="Terminal" -yarn twenty server catalog-sync +yarn twenty dev:catalog-sync # To target a specific remote: -# yarn twenty server catalog-sync --remote production +# yarn twenty dev:catalog-sync --remote production ``` Pazar yerinde gösterilen meta veriler, `defineApplication()` yapılandırmanızdan gelir — `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl` ve `termsUrl` gibi alanlar. @@ -259,12 +259,12 @@ jobs: node-version: "24" registry-url: https://registry.npmjs.org - run: yarn install --immutable - - run: npx twenty build + - run: npx twenty dev:build - run: npm publish --provenance --access public working-directory: .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`. +Diğer CI sistemleri (GitLab CI, CircleCI, vb.) için de aynı üç komut geçerlidir: `yarn install`, `yarn twenty dev: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. @@ -281,7 +281,7 @@ Twenty içinde **Ayarlar > Uygulamalar** sayfasına gidin; burada hem pazar yeri Uygulamaları komut satırından da yükleyebilirsiniz: ```bash filename="Terminal" -yarn twenty install +yarn twenty app:install ``` @@ -290,5 +290,5 @@ Sunucu, kurulum sırasında semver sürümlemesini zorunlu kılar ve dağıtımd * Çalışma alanınızda zaten yüklü olanla aynı sürümün kurulumu, `APP_ALREADY_INSTALLED` hatasıyla reddedilir. * Halihazırda yüklü olandan daha düşük bir sürümü kurmak, `CANNOT_DOWNGRADE_APPLICATION` hatasıyla reddedilir. -Daha yeni bir sürümü kurmak için önce onu dağıtın veya yayımlayın, ardından `yarn twenty install` komutunu yeniden çalıştırın. +Daha yeni bir sürümü kurmak için önce onu dağıtın veya yayımlayın, ardından `yarn twenty app:install` komutunu yeniden çalıştırın. diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/operations/testing.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/operations/testing.mdx index 12539ba52d6..c15a2634cda 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/operations/testing.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/operations/testing.mdx @@ -235,7 +235,7 @@ yarn test:watch Ayrıca testleri çalıştırmadan uygulamanızda tip denetimi çalıştırabilirsiniz: ```bash filename="Terminal" -yarn twenty typecheck +yarn twenty dev:typecheck ``` Bu, `tsc --noEmit` komutunu çalıştırır ve tüm tip hatalarını raporlar. diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/config/install-hooks.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/config/install-hooks.mdx index a5351b4bc17..ee11992bd1d 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/config/install-hooks.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/config/install-hooks.mdx @@ -45,7 +45,7 @@ export default definePostInstallLogicFunction({ 你也可以随时使用 CLI 手动执行安装后函数: ```bash filename="Terminal" -yarn twenty exec --postInstall +yarn twenty dev:function:exec --postInstall ``` 关键点: @@ -60,7 +60,7 @@ yarn twenty exec --postInstall * 每个应用仅允许一个安装后函数。 如果检测到多个,清单构建将报错。 * 构建期间,函数的 `universalIdentifier`、`shouldRunOnVersionUpgrade` 和 `shouldRunSynchronously` 会自动附加到应用清单的 `postInstallLogicFunction` 字段下——你无需在 [`defineApplication()`](/l/zh/developers/extend/apps/config/application) 中引用它们。 * 默认超时时间设置为 300 秒(5 分钟),以便支持更长的设置任务,如数据填充。 -* **开发模式下不执行**:当应用在本地注册(通过 `yarn twenty dev`)时,服务器会完全跳过安装流程,并通过 CLI 监视器直接同步文件——因此无论 `shouldRunSynchronously` 如何,安装后在开发模式下都不会运行。 使用 `yarn twenty exec --postInstall` 在运行中的工作区上手动触发它。 +* **开发模式下不执行**:当应用在本地注册(通过 `yarn twenty dev`)时,服务器会完全跳过安装流程,并通过 CLI 监视器直接同步文件——因此无论 `shouldRunSynchronously` 如何,安装后在开发模式下都不会运行。 使用 `yarn twenty dev:function:exec --postInstall` 在运行中的工作区上手动触发它。 @@ -87,7 +87,7 @@ export default definePreInstallLogicFunction({ 你也可以随时使用 CLI 手动执行安装前函数: ```bash filename="Terminal" -yarn twenty exec --preInstall +yarn twenty dev:function:exec --preInstall ``` 关键点: @@ -96,7 +96,7 @@ yarn twenty exec --preInstall * **钩子何时运行**:位于工作区元数据迁移(`synchronizeFromManifest`)之前。 在执行之前,服务器会运行一次纯增量的“精简同步”,将**新**版本的安装前函数注册到工作区元数据中——不会触及其他任何内容——然后再执行它。 由于此次同步仅为增量操作,当你的处理程序运行时,上一版本的对象、字段和数据仍完好无损:你可以安全地读取并备份迁移前的状态。 * **执行模型**:安装前以**同步**方式执行,并且**会阻塞安装**。 如果处理程序抛出异常,安装会在任何架构更改应用之前被中止——工作区将保持在上一版本且处于一致状态。 这是有意为之:安装前是你拒绝高风险升级的最后机会。 * 与安装后相同,每个应用仅允许一个安装前函数。 在构建期间,它会自动附加到应用清单的 `preInstallLogicFunction` 下。 -* **开发模式下不执行**:与安装后相同——对于本地注册的应用将完全跳过安装流程,因此在 `yarn twenty dev` 下不会运行安装前。 使用 `yarn twenty exec --preInstall` 手动触发它。 +* **开发模式下不执行**:与安装后相同——对于本地注册的应用将完全跳过安装流程,因此在 `yarn twenty dev` 下不会运行安装前。 使用 `yarn twenty dev:function:exec --preInstall` 手动触发它。 diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/config/public-assets.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/config/public-assets.mdx index b7e46afaddf..810db0388a9 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/config/public-assets.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/config/public-assets.mdx @@ -13,7 +13,7 @@ icon: folder-open * **在逻辑函数中可用**——在电子邮件、API 响应或任何服务端逻辑中引用资源 URL。 * **用于市场元数据**——`defineApplication()` 中的 `logoUrl` 和 `screenshots` 字段引用此文件夹中的文件(例如,`public/logo.png`)。 应用发布后,这些内容会显示在市场中。 * **在开发模式下自动同步**——当在 `public/` 中添加、更新或删除文件时,会自动同步到服务器。 无需重启。 -* **包含在构建中**——`yarn twenty build` 会将所有公共资源打包到分发产物中。 +* **包含在构建中**——`yarn twenty dev:build` 会将所有公共资源打包到分发产物中。 ## 使用 `getPublicAssetUrl` 访问公共资源 diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/data/objects.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/data/objects.mdx index 41cd1892f72..16aa08b0884 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/data/objects.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/data/objects.mdx @@ -80,7 +80,7 @@ export default defineObject({ * 每个字段都需要 `name`、`type`、`label` 以及其自身稳定的 `universalIdentifier`。 * `fields` 数组是可选的——你可以定义没有自定义字段的对象。 * 此处定义的内联字段**不**需要 `objectUniversalIdentifier`——它会从父对象继承。 使用[`defineField()`](/l/zh/developers/extend/apps/data/extending-objects)为你不拥有的对象添加字段。 -* 你可以使用 `yarn twenty add object` 脚手架创建新对象,它会引导你完成命名、字段和关系。 参见 [Architecture → Scaffolding entities](/l/zh/developers/extend/apps/getting-started/scaffolding)。 +* 你可以使用 `yarn twenty dev:add object` 脚手架创建新对象,它会引导你完成命名、字段和关系。 参见 [Architecture → Scaffolding entities](/l/zh/developers/extend/apps/getting-started/scaffolding)。 **基础字段会自动添加。** 当你定义自定义对象时,Twenty 会为你创建标准字段,例如 `id`、`name`、`createdAt`、`updatedAt`、`createdBy`、`updatedBy` 和 `deletedAt`。 你无需在 `fields` 数组中声明这些字段——只需声明你的自定义字段。 你可以通过声明一个同名字段来覆盖默认字段,但这么做通常并不是一个好主意。 diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/concepts.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/concepts.mdx index 8aee46efeb6..9e12d8375b8 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/concepts.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/concepts.mdx @@ -65,7 +65,7 @@ your-app/ │ npx create-twenty-app → yarn twenty dev (live sync) │ ├─────────────────────────────────────────────────────────┤ │ Build & Deploy │ -│ yarn twenty build → yarn twenty deploy │ +│ yarn twenty dev:build → yarn twenty app:publish │ ├─────────────────────────────────────────────────────────┤ │ Install flow │ │ upload → [pre-install] → metadata migration → │ @@ -77,7 +77,7 @@ your-app/ ``` * **`yarn twenty dev`** — 监视你的源文件,并将更改实时同步到已连接的 Twenty 服务器。 当模式发生变化时,会自动重新生成类型化的 API 客户端。 -* **`yarn twenty build`** — 编译 TypeScript,使用 esbuild 打包逻辑函数和前端组件,并生成清单。 +* **`yarn twenty dev:build`** — 编译 TypeScript,使用 esbuild 打包逻辑函数和前端组件,并生成清单。 * **预/后安装钩子** — 在安装过程中运行的可选函数。 详见 [安装钩子](/l/zh/developers/extend/apps/config/install-hooks)。 ## 后续步骤 diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/local-server.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/local-server.mdx index ffac608b94f..de6e0ccf248 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/local-server.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/local-server.mdx @@ -6,44 +6,44 @@ icon: server ## 管理本地服务器 -使用 `yarn twenty server` 控制本地的 Twenty 容器: +使用 `yarn twenty docker:*` 控制本地的 Twenty 容器: | 命令 | 作用 | | -------------------------------------- | ------------------------- | -| `yarn twenty server start` | 启动服务器(按需拉取镜像) | -| `yarn twenty server start --port 3030` | 在自定义端口启动 | -| `yarn twenty server stop` | 停止服务器(保留数据) | -| `yarn twenty server status` | 显示 URL、版本和登录凭据 | -| `yarn twenty server logs` | 流式输出服务器日志 | -| `yarn twenty server reset` | 清空数据并全新开始 | -| `yarn twenty server upgrade` | 拉取最新的 `twenty-app-dev` 镜像 | -| `yarn twenty server upgrade 2.2.0` | 升级到指定版本 | +| `yarn twenty docker:start` | 启动服务器(按需拉取镜像) | +| `yarn twenty docker:start --port 3030` | 在自定义端口启动 | +| `yarn twenty docker:stop` | 停止服务器(保留数据) | +| `yarn twenty docker:status` | 显示 URL、版本和登录凭据 | +| `yarn twenty docker:logs` | 流式输出服务器日志 | +| `yarn twenty docker:reset` | 清空数据并全新开始 | +| `yarn twenty docker:upgrade` | 拉取最新的 `twenty-app-dev` 镜像 | +| `yarn twenty docker:upgrade 2.2.0` | 升级到指定版本 | 数据在重启后会保留,存储于两个 Docker 卷中(`twenty-app-dev-data` 用于 PostgreSQL,`twenty-app-dev-storage` 用于文件)。 使用 `reset` 清空所有内容。 ## 升级服务器镜像 -`yarn twenty server upgrade` 将拉取最新镜像、比较摘要,并且仅在确有变更时才重新创建容器。 数据卷将被保留——只会替换容器。 如果已拉取新镜像且容器正在运行,升级会自动启动一个新容器;之后运行 `yarn twenty server start` 以等待其变为健康状态。 +`yarn twenty docker:upgrade` 将拉取最新镜像、比较摘要,并且仅在确有变更时才重新创建容器。 数据卷将被保留——只会替换容器。 如果已拉取新镜像且容器正在运行,升级会自动启动一个新容器;之后运行 `yarn twenty docker:start` 以等待其变为健康状态。 ```bash filename="Terminal" -yarn twenty server upgrade # Latest -yarn twenty server upgrade 2.2.0 # Specific version +yarn twenty docker:upgrade # Latest +yarn twenty docker:upgrade 2.2.0 # Specific version ``` -使用 `yarn twenty server status` 验证正在运行的版本(它会显示写入容器的 `APP_VERSION`)。 +使用 `yarn twenty docker:status` 验证正在运行的版本(它会显示写入容器的 `APP_VERSION`)。 ## 运行并行测试实例 -向任意 `server` 命令传递 `--test` 以管理第二个、完全隔离的实例——这有助于在不影响主开发数据的情况下进行集成测试或试验: +向任意 `docker:*` 命令传递 `--test` 以管理第二个、完全隔离的实例——这有助于在不影响主开发数据的情况下进行集成测试或试验: | 命令 | 作用 | | ----------------------------------- | ------------------- | -| `yarn twenty server start --test` | 启动测试实例 (默认端口为 2021) | -| `yarn twenty server stop --test` | 停止它 | -| `yarn twenty server status --test` | 显示其状态 | -| `yarn twenty server logs --test` | 流式输出其日志 | -| `yarn twenty server reset --test` | 清空其数据 | -| `yarn twenty server upgrade --test` | 升级其镜像 | +| `yarn twenty docker:start --test` | 启动测试实例 (默认端口为 2021) | +| `yarn twenty docker:stop --test` | 停止它 | +| `yarn twenty docker:status --test` | 显示其状态 | +| `yarn twenty docker:logs --test` | 流式输出其日志 | +| `yarn twenty docker:reset --test` | 清空其数据 | +| `yarn twenty docker:upgrade --test` | 升级其镜像 | 测试实例有其自己的容器(`twenty-app-dev-test`)、卷(`twenty-app-dev-test-data`、`twenty-app-dev-test-storage`)和配置——它可与你的主实例并行运行且不会发生冲突。 将 `--test` 与 `--port` 组合使用以覆盖 2021 端口。 @@ -65,7 +65,7 @@ yarn add twenty-sdk twenty-client-sdk } ``` -现在你可以运行 `yarn twenty dev`、`yarn twenty server start`,以及其他命令。 +现在你可以运行 `yarn twenty dev`、`yarn twenty docker:start`,以及其他命令。 不要全局安装 `twenty-sdk` —— 在每个项目中固定其版本,使每个应用都使用各自的版本。 diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/quick-start.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/quick-start.mdx index 2aa0a5b3219..18779a3bf9f 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/quick-start.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/quick-start.mdx @@ -43,7 +43,7 @@ npx create-twenty-app@latest my-twenty-app > **是否要设置本地 Twenty 实例?** * **是(推荐)** — 将拉取 `twentycrm/twenty-app-dev` Docker 镜像,并在端口 `2020` 上启动它。 请先确保 Docker 正在运行。 -* **否** — 如果你已经有一个想要连接的 Twenty 服务器,请选择此项。 你可以稍后通过 `yarn twenty remote add` 将其连接起来。 +* **否** — 如果你已经有一个想要连接的 Twenty 服务器,请选择此项。 你可以稍后通过 `yarn twenty remote:add` 将其连接起来。
是否启动本地实例? @@ -73,7 +73,7 @@ npx create-twenty-app@latest my-twenty-app **完成此阶段后:** 你在 [http://localhost:2020](http://localhost:2020) 上拥有一个正在运行的 Twenty 服务器,且你的 CLI 已获授权可与其同步。 -如果未安装或未运行 Docker,脚手架工具会告诉你在所用操作系统上正确的启动命令。 Docker 启动后,你可以通过 `yarn twenty server start` 继续——无需重新生成脚手架。 +如果未安装或未运行 Docker,脚手架工具会告诉你在所用操作系统上正确的启动命令。 Docker 启动后,你可以通过 `yarn twenty docker:start` 继续——无需重新生成脚手架。 --- diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/scaffolding.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/scaffolding.mdx index c39ece9aa64..7f3ab050547 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/scaffolding.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/scaffolding.mdx @@ -1,13 +1,13 @@ --- title: 脚手架 -description: 通过 yarn twenty add 以交互方式生成实体文件——对象、字段、视图、逻辑函数等。 +description: 通过 yarn twenty dev:add 以交互方式生成实体文件——对象、字段、视图、逻辑函数等。 icon: wand-magic-sparkles --- 无需手动创建实体文件,使用交互式脚手架: ```bash filename="Terminal" -yarn twenty add +yarn twenty dev:add ``` 它会提示你选择一个实体类型,引导你填写所需字段,然后生成一个可直接使用的文件,其中包含稳定的 `universalIdentifier` 和正确的 `defineEntity()` 调用。 @@ -15,29 +15,29 @@ yarn twenty add 你也可以直接传入实体类型以跳过第一个提示: ```bash filename="Terminal" -yarn twenty add object -yarn twenty add logicFunction -yarn twenty add frontComponent +yarn twenty dev:add object +yarn twenty dev:add logicFunction +yarn twenty dev:add frontComponent ``` ## 可用的实体类型 -| 实体类型 | 命令 | 生成的文件 | -| ----- | ------------------------------------ | ------------------------------------------------------- | -| 对象 | `yarn twenty add object` | `src/objects/\.ts` | -| 字段 | `yarn twenty add field` | `src/fields/\.ts` | -| 逻辑函数 | `yarn twenty add logicFunction` | `src/logic-functions/\.ts` | -| 前端组件 | `yarn twenty add frontComponent` | `src/front-components/\.tsx` | -| 角色 | `yarn twenty add role` | `src/roles/\.ts` | -| 技能 | `yarn twenty add skill` | `src/skills/\.ts` | -| 代理 | `yarn twenty add agent` | `src/agents/\.ts` | -| 视图 | `yarn twenty add view` | `src/views/\.ts` | -| 导航菜单项 | `yarn twenty add navigationMenuItem` | `src/navigation-menu-items/\.ts` | -| 页面布局 | `yarn twenty add pageLayout` | `src/page-layouts/\.ts` | +| 实体类型 | 命令 | 生成的文件 | +| ----- | ---------------------------------------- | ------------------------------------------------------- | +| 对象 | `yarn twenty dev:add object` | `src/objects/\.ts` | +| 字段 | `yarn twenty dev:add field` | `src/fields/\.ts` | +| 逻辑函数 | `yarn twenty dev:add logicFunction` | `src/logic-functions/\.ts` | +| 前端组件 | `yarn twenty dev:add frontComponent` | `src/front-components/\.tsx` | +| 角色 | `yarn twenty dev:add role` | `src/roles/\.ts` | +| 技能 | `yarn twenty dev:add skill` | `src/skills/\.ts` | +| 代理 | `yarn twenty dev:add agent` | `src/agents/\.ts` | +| 视图 | `yarn twenty dev:add view` | `src/views/\.ts` | +| 导航菜单项 | `yarn twenty dev:add navigationMenuItem` | `src/navigation-menu-items/\.ts` | +| 页面布局 | `yarn twenty dev:add pageLayout` | `src/page-layouts/\.ts` | ## 脚手架生成的内容 -每种实体类型都有其自己的模板。 例如,`yarn twenty add object` 会询问: +每种实体类型都有其自己的模板。 例如,`yarn twenty dev:add object` 会询问: 1. **名称(单数)**——例如,`invoice` 2. **名称(复数)**——例如,`invoices` @@ -54,5 +54,5 @@ yarn twenty add frontComponent 使用 `--path` 标志将生成的文件放置在自定义位置: ```bash filename="Terminal" -yarn twenty add logicFunction --path src/custom-folder +yarn twenty dev:add logicFunction --path src/custom-folder ``` diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/troubleshooting.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/troubleshooting.mdx index c879b2d1988..d65ecf9bfde 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/troubleshooting.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/troubleshooting.mdx @@ -4,7 +4,7 @@ description: 常见的首次运行问题 — Docker、Node 版本、Yarn、依 icon: wrench --- -* **Docker 错误** — 在运行 `yarn twenty server start` 之前,请确保 Docker Desktop(或守护进程)已在运行。 错误消息会显示适用于你的操作系统的正确启动命令。 +* **Docker 错误** — 在运行 `yarn twenty docker:start` 之前,请确保 Docker Desktop(或守护进程)已在运行。 错误消息会显示适用于你的操作系统的正确启动命令。 * **Node 版本不正确** — 需要 24+。 使用 `node -v` 检查。 * **缺少 Yarn 4** — 运行 `corepack enable`。 * **依赖损坏** — `rm -rf node_modules && yarn install`。 diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/logic/logic-functions.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/logic/logic-functions.mdx index 7fcf577f66e..5d4b4255ed0 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/logic/logic-functions.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/logic/logic-functions.mdx @@ -61,17 +61,17 @@ export default defineLogicFunction({ 你也可以使用 CLI 手动执行函数: ```bash filename="Terminal" -yarn twenty exec -n create-new-post-card -p '{"key": "value"}' +yarn twenty dev:function:exec -n create-new-post-card -p '{"key": "value"}' ``` ```bash filename="Terminal" -yarn twenty exec -y e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf ``` 你可以通过以下方式查看日志: ```bash filename="Terminal" -yarn twenty logs +yarn twenty dev:function:logs ``` @@ -341,7 +341,7 @@ export default defineLogicFunction({ -`CoreApiClient` 是用于查询和变更工作区数据的主要客户端。 它会在执行 `yarn twenty dev` 或 `yarn twenty build` 时**根据你的工作区架构生成**,因此完全类型化以匹配你的对象和字段。 +`CoreApiClient` 是用于查询和变更工作区数据的主要客户端。 它会在执行 `yarn twenty dev` 或 `yarn twenty dev:build` 时**根据你的工作区架构生成**,因此具有完整的类型定义以匹配你的对象和字段。 ```ts import { CoreApiClient } from 'twenty-client-sdk/core'; @@ -381,7 +381,7 @@ const { createCompany } = await client.mutation({ 该客户端使用选择集语法:传入 `true` 以包含某字段,使用 `__args` 传递参数,并通过嵌套对象表示关系。 你将基于工作区架构获得完整的自动补全和类型检查。 -**CoreApiClient 在开发/构建时生成。** 如果在未先运行 `yarn twenty dev` 或 `yarn twenty build` 的情况下尝试使用它,将会抛出错误。 该生成过程是自动完成的——CLI 会自省你的工作区 GraphQL 架构,并使用 `@genql/cli` 生成类型化客户端。 +**CoreApiClient 在开发/构建时生成。** 如果在未先运行 `yarn twenty dev` 或 `yarn twenty dev:build` 的情况下尝试使用它,将会抛出错误。 该生成过程是自动完成的——CLI 会自省你的工作区 GraphQL 架构,并使用 `@genql/cli` 生成类型化客户端。 #### 使用 CoreSchema 进行类型标注 diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/operations/cli.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/operations/cli.mdx index ca1013ea24c..013524f9f18 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/operations/cli.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/operations/cli.mdx @@ -4,54 +4,54 @@ description: yarn twenty 命令可用于执行函数、流式传输日志、管 icon: terminal --- -除了 `dev`、`build`、`add` 和 `typecheck` 外,`yarn twenty` CLI 还提供了用于执行函数、查看日志和管理应用安装的命令。 +除了 `dev`、`dev:build`、`dev:add` 和 `dev:typecheck` 外,`yarn twenty` CLI 还提供了用于执行函数、查看日志和管理应用安装的命令。 -## 执行函数(`yarn twenty exec`) +## 执行函数(`yarn twenty dev:function:exec`) 手动运行逻辑函数,而无需通过 HTTP、定时任务或数据库事件来触发: ```bash filename="Terminal" # Execute by function name -yarn twenty exec -n create-new-post-card +yarn twenty dev:function:exec -n create-new-post-card # Execute by universalIdentifier -yarn twenty exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf # Pass a JSON payload -yarn twenty exec -n create-new-post-card -p '{"name": "Hello"}' +yarn twenty dev:function:exec -n create-new-post-card -p '{"name": "Hello"}' # Execute the post-install function -yarn twenty exec --postInstall +yarn twenty dev:function:exec --postInstall ``` -## 查看函数日志(`yarn twenty logs`) +## 查看函数日志(`yarn twenty dev:function:logs`) 实时流式查看你的应用逻辑函数的执行日志: ```bash filename="Terminal" # Stream all function logs -yarn twenty logs +yarn twenty dev:function:logs # Filter by function name -yarn twenty logs -n create-new-post-card +yarn twenty dev:function:logs -n create-new-post-card # Filter by universalIdentifier -yarn twenty logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf +yarn twenty dev:function:logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf ``` -这与 `yarn twenty server logs` 不同,后者显示的是 Docker 容器日志。 `yarn twenty logs` 会显示来自 Twenty 服务器的应用函数执行日志。 +这与 `yarn twenty docker:logs` 不同,后者显示的是 Docker 容器日志。 `yarn twenty dev:function:logs` 会显示来自 Twenty 服务器的应用函数执行日志。 -## 卸载应用(`yarn twenty uninstall`) +## 卸载应用(`yarn twenty app:uninstall`) 将你的应用从活动工作区中移除: ```bash filename="Terminal" -yarn twenty uninstall +yarn twenty app:uninstall # Skip the confirmation prompt -yarn twenty uninstall --yes +yarn twenty app:uninstall --yes ``` ## 管理远程 @@ -60,19 +60,19 @@ yarn twenty uninstall --yes ```bash filename="Terminal" # Add a new remote (opens a browser for OAuth login) -yarn twenty remote add +yarn twenty remote:add # Connect to a local Twenty server (auto-detects port 2020 or 3000) -yarn twenty remote add --local +yarn twenty remote:add --local # Add a remote non-interactively (useful for CI) -yarn twenty remote add --api-url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote +yarn twenty remote:add --url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote # List all configured remotes -yarn twenty remote list +yarn twenty remote:list -# Switch the active remote -yarn twenty remote switch +# Set the active remote +yarn twenty remote:use ``` 你的凭据存储在 `~/.twenty/config.json` 中。 diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/operations/overview.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/operations/overview.mdx index 8734685c6d6..6b94fd85ba2 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/operations/overview.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/operations/overview.mdx @@ -9,9 +9,9 @@ icon: rocket ```text develop ─▶ test ─▶ build ─▶ deploy / publish ─────── ──── ───── ───────────────── - yarn yarn yarn yarn twenty deploy (tarball → one server) + yarn yarn yarn yarn twenty app:publish --private (tarball → one server) twenty test twenty - dev build yarn twenty publish (npm → marketplace) + dev dev:build yarn twenty app:publish (npm → marketplace) ``` ## 本节内容 diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/operations/publishing.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/operations/publishing.mdx index 3c507ed3d27..a879e4359d2 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/operations/publishing.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/operations/publishing.mdx @@ -18,10 +18,10 @@ description: 将你的 Twenty 应用分发到应用市场,或进行内部部 运行构建命令来编译你的应用,并生成适用于分发的 `manifest.json`: ```bash filename="Terminal" -yarn twenty build +yarn twenty dev:build ``` -这会编译 TypeScript 源码,转译逻辑函数和前端组件,并将所有内容写入 `.twenty/output/`。 添加 `--tarball`,还可以生成用于手动分发或 deploy 命令的 `.tgz` 包。 +这会编译 TypeScript 源码,转译逻辑函数和前端组件,并将所有内容写入 `.twenty/output/`。 添加 `--tarball`,还可以生成用于手动分发或 publish 命令的 `.tgz` 包。 ## 部署到服务器(tar 包) @@ -34,7 +34,7 @@ yarn twenty build 添加远程: ```bash filename="Terminal" -yarn twenty remote add --api-url https://your-twenty-server.com --as production +yarn twenty remote:add --url https://your-twenty-server.com --as production ``` ### 部署 @@ -42,9 +42,9 @@ yarn twenty remote add --api-url https://your-twenty-server.com --as production 一步构建并将你的应用上传到服务器: ```bash filename="Terminal" -yarn twenty deploy +yarn twenty app:publish --private # To deploy to a specific remote: -# yarn twenty deploy --remote production +# yarn twenty app:publish --private --remote production ``` ### 共享已部署的应用 @@ -68,7 +68,7 @@ yarn twenty deploy 要发布更新: 1. 将 `package.json` 中的 `version` 字段递增(例如:`1.2.3` → `1.2.4`、`1.3.0` 或 `2.0.0`) -2. 运行 `yarn twenty deploy`(或 `yarn twenty deploy --remote production`) +2. 运行 `yarn twenty app:publish --private`(或 `yarn twenty app:publish --private --remote production`) 3. 已安装该应用的工作区会在其设置中看到可用的升级 @@ -121,7 +121,7 @@ yarn twenty deploy **作用:** 1. 检出你的应用源代码。 -2. 使用 `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` 组合 action 启动一个隔离的 Twenty 测试实例(相当于 CI 中的 `yarn twenty server start --test`)。 +2. 使用 `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` 组合 action 启动一个隔离的 Twenty 测试实例(相当于 CI 中的 `yarn twenty docker:start --test`)。 3. 启用 Corepack,从你的 `.nvmrc` 设置 Node.js,并使用 `yarn install --immutable` 安装依赖。 4. 运行 `yarn test`,并从启动的实例传入 `TWENTY_API_URL` 和 `TWENTY_API_KEY`,以便你的测试可以与真实服务器通信。 @@ -139,7 +139,7 @@ yarn twenty deploy **作用:** 1. 检出 PR 的 head(针对已加标签的 PR),或被推送的提交。 -2. 运行 `twentyhq/twenty/.github/actions/deploy-twenty-app@main`——相当于 CI 中的 `yarn twenty deploy`。 +2. 运行 `twentyhq/twenty/.github/actions/deploy-twenty-app@main`——相当于 CI 中的 `yarn twenty app:publish --private`。 3. 运行 `twentyhq/twenty/.github/actions/install-twenty-app@main`,将新部署的版本安装到目标工作区。 **必需的配置:** @@ -208,13 +208,13 @@ export default defineApplication({ ### 发布 ```bash filename="Terminal" -yarn twenty publish +yarn twenty app:publish ``` 要在特定的 dist-tag(例如 `beta` 或 `next`)下发布: ```bash filename="Terminal" -yarn twenty publish --tag beta +yarn twenty app:publish --tag beta ``` ### 应用市场的发现机制如何运作 @@ -224,9 +224,9 @@ Twenty 服务器会**每小时**从 npm 注册表同步其市场目录。 你可以立即触发同步,而无需等待: ```bash filename="Terminal" -yarn twenty server catalog-sync +yarn twenty dev:catalog-sync # To target a specific remote: -# yarn twenty server catalog-sync --remote production +# yarn twenty dev:catalog-sync --remote production ``` 市场中显示的元数据来自你的 `defineApplication()` 配置——例如 `displayName`、`description`、`author`、`category`、`logoUrl`、`screenshots`、`aboutDescription`、`websiteUrl` 和 `termsUrl` 等字段。 @@ -259,12 +259,12 @@ jobs: node-version: "24" registry-url: https://registry.npmjs.org - run: yarn install --immutable - - run: npx twenty build + - run: npx twenty dev:build - run: npm publish --provenance --access public working-directory: .twenty/output ``` -对于其他 CI 系统(GitLab CI、CircleCI 等),同样适用以下三条命令:`yarn install`、`yarn twenty build`,然后在 `.twenty/output` 目录下执行 `npm publish`。 +对于其他 CI 系统(GitLab CI、CircleCI 等),同样适用以下三条命令:`yarn install`、`yarn twenty dev:build`,然后在 `.twenty/output` 目录下执行 `npm publish`。 **npm provenance** 可选,但建议启用。 使用 `--provenance` 发布会在你的 npm 列表中添加可信徽章,使用户可以验证该包是由公共 CI 流水线中的特定提交构建的。 有关设置说明,请参见 [npm provenance 文档](https://docs.npmjs.com/generating-provenance-statements)。 @@ -281,7 +281,7 @@ jobs: 你也可以通过命令行安装应用: ```bash filename="Terminal" -yarn twenty install +yarn twenty app:install ``` @@ -290,5 +290,5 @@ yarn twenty install * 尝试安装与工作区中已安装版本相同的版本将被拒绝,并返回 `APP_ALREADY_INSTALLED` 错误。 * 尝试安装低于当前已安装版本的版本将被拒绝,并返回 `CANNOT_DOWNGRADE_APPLICATION` 错误。 -若要安装较新的版本,请先部署或发布它,然后重新运行 `yarn twenty install`。 +若要安装较新的版本,请先部署或发布它,然后重新运行 `yarn twenty app:install`。 diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/operations/testing.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/operations/testing.mdx index 55aa1ad0741..0a36f7841e5 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/operations/testing.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/operations/testing.mdx @@ -235,7 +235,7 @@ yarn test:watch 你也可以在不运行测试的情况下对应用进行类型检查: ```bash filename="Terminal" -yarn twenty typecheck +yarn twenty dev:typecheck ``` 这会运行 `tsc --noEmit` 并报告所有类型错误。