Skip to main content

Prérequis

  • Node.js 24.5+Télécharger
  • Yarn 4 — fourni avec Node.js via Corepack. Activez-le : corepack enable
  • DockerTélécharger. Nécessaire pour exécuter un serveur Twenty local. Ignorez si vous avez déjà Twenty en cours d’exécution ailleurs.
La création d’une application Twenty comporte trois phases. Le générateur les regroupe en une seule commande pour le parcours idéal, mais chaque phase est un concept distinct — en cas d’échec, savoir dans quelle phase vous vous trouvez indique ce qu’il faut corriger.

Phase 1 — Générez le squelette de votre projet

Créez une nouvelle application à partir du modèle :
Le générateur est non interactif : le nom du répertoire devient le nom de l’application. Passez --display-name et --description pour personnaliser les métadonnées générées (vous pouvez également les modifier plus tard dans src/constants/universal-identifiers.ts). Cela génère un projet TypeScript dans my-twenty-app/ avec un fichier de démarrage application-config.ts, un rôle par défaut, des workflows CI/CD et un test d’intégration. Après cette phase : vous disposez du code source d’une application sur votre machine. Elle ne s’exécute pas encore — c’est la phase 2.

Phase 2 — Exécuter un serveur Twenty local

Votre application a besoin d’un serveur Twenty vers lequel se synchroniser. Le serveur est une instance Twenty complète — interface utilisateur, API GraphQL, PostgreSQL — exécutée localement dans Docker. Votre code local envoie ses définitions à ce serveur, qui les fait apparaître dans l’interface utilisateur. Le générateur de projet en crée un pour vous : avec Docker en cours d’exécution, il récupère l’image twentycrm/twenty-app-dev, la démarre sur le port 2020, et authentifie le CLI auprès de l’espace de travail de démonstration prérempli (tim@apple.dev) — aucune connexion requise. Pour vous connecter à un serveur Twenty existant à la place, passez --url \<your-server-url>. Les serveurs distants s’authentifient avec OAuth : un navigateur s’ouvre pour que vous puissiez vous connecter et cliquer sur Authorize, ce qui donne au CLI l’accès à votre espace de travail. (Vous pouvez aussi choisir OAuth en local avec --authentication-method oauth — connectez-vous avec tim@apple.dev / tim@apple.dev.)
Écran de connexion Twenty
Écran d’autorisation de la CLI Twenty
Votre terminal confirmera que tout est configuré.
Application initialisée avec succès
Après cette phase : vous disposez d’un serveur Twenty en cours d’exécution sur http://localhost:2020 avec votre CLI autorisée à s’y synchroniser.
Si Docker n’est pas installé ou en cours d’exécution, le générateur vous indiquera la bonne commande de démarrage pour votre système d’exploitation. Une fois Docker lancé, vous pouvez reprendre avec yarn twenty docker:start — pas besoin de régénérer le squelette.

Phase 3 — Synchroniser vos modifications

C’est la boucle interne dans laquelle vous passerez la plupart de votre temps.
Cela surveille src/, reconstruit à chaque modification et synchronise le résultat avec le serveur. Modifiez un fichier, enregistrez, et en quelques secondes le serveur reflète la modification. Vous verrez un panneau d’état en direct dans votre terminal. Pour une sortie plus détaillée (journaux de build, requêtes de synchronisation, traces d’erreurs), ajoutez --verbose.
Sortie du terminal en mode dev
Ouvrez http://localhost:2020/settings/applications#developer. Vous devriez voir votre application sous Your Apps.
La liste Your Apps affichant My twenty app
Cliquez sur My twenty app pour voir son application registration — un enregistrement au niveau du serveur décrivant votre application (nom, identifiant, informations d’identification OAuth, source). Un même enregistrement peut être installé dans plusieurs espaces de travail sur le même serveur.
Détails de l’enregistrement d’application
Cliquez sur View installed app pour voir l’installation dans l’espace de travail. L’onglet About affiche la version et les options de gestion.
Application installée
Après cette phase : vous disposez d’une boucle de développement en direct. Modifiez n’importe quel fichier dans src/ et il apparaît dans l’interface utilisateur.

Synchronisation ponctuelle pour la CI et les scripts

Utilisez plan et apply pour exécuter une fois le même pipeline, sans surveillance :
Tous les modes nécessitent un serveur distant authentifié. Voir synchronisation et récupération pour plus d’informations sur plan.
yarn twenty dev --once et yarn twenty dev --once --dry-run sont des alias obsolètes pour yarn twenty apply et yarn twenty plan.

Options du mode de développement

Ce que vous pouvez créer

Les applications sont composées d’entités — chacune définie comme un fichier TypeScript avec un seul export default : Référence complète : Concepts.

Prochaines étapes

Configuration

Identité de l’application, rôle par défaut, hooks d’installation et de désinstallation, ressources publiques.

Données

Objets, champs et relations bidirectionnelles.

Logique

Fonctions logiques, compétences, agents et connexions OAuth.

Disposition

Vues, navigation, mises en page, composants front-end.

Opérations

CLI, tests, dépôts distants, CI et publication de votre application.