
@@ -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`.

@@ -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`.

@@ -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.

@@ -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` 并报告所有类型错误。