前提条件
- Node.js 24.5+ — こちらからダウンロード
- Yarn 4 — Corepack 経由で Node.js に同梱されています。 有効化:
corepack enable - Docker — こちらからダウンロード。 ローカルの Twenty サーバーを実行するために必要です。 すでに別の場所で Twenty が稼働している場合はスキップしてください。
フェーズ 1 — プロジェクトをスキャフォールドする
テンプレートから新しいアプリを作成します:--display-name と --description を指定します(後から src/constants/universal-identifiers.ts 内で編集することもできます)。 これにより、my-twenty-app/ にスターターの application-config.ts、デフォルトロール、CI/CD ワークフロー、および統合テストを含む TypeScript プロジェクトが生成されます。
このフェーズ後: マシン上にアプリのソースコードがあります。 まだ実行はされていません — それはフェーズ 2 です。
フェーズ 2 — ローカルの Twenty サーバーを起動する
アプリは同期先としての Twenty サーバーを必要とします。 サーバーは、UI、GraphQL API、PostgreSQL を備えた完全な Twenty インスタンスで、Docker 上でローカルに実行されます。 ローカルのコードは定義をそのサーバーにアップロードし、UI に反映されます。 スキャフォルダーが環境を自動的に起動します。Docker が動作している状態で、twentycrm/twenty-app-dev イメージを取得し、ポート 2020 で起動して、事前にデモデータが投入されたワークスペース(tim@apple.dev)に対して CLI を認証します — サインインは不要です。
既存の Twenty サーバーに接続する場合は、代わりに --url \<your-server-url> を指定してください。 リモートサーバーは OAuth で認証されます。ブラウザーが開き、サインインして Authorize をクリックすると、CLI にワークスペースへのアクセス権が付与されます。 (ローカルでも --authentication-method oauth を指定して OAuth を利用できます。その場合は tim@apple.dev / tim@apple.dev でサインインします。)



Docker がインストールされていない、または起動していない場合、スキャフォルダーが OS に合った開始コマンドを案内します。 Docker が起動したら、
yarn twenty docker:start で再開できます — 再スキャフォールドは不要です。フェーズ 3 — 変更を同期する
ここが、最も多くの時間を費やす内側のループです。src/ を監視し、変更のたびに再ビルドして、その結果をサーバーに同期します。 ファイルを編集して保存すると、数秒以内にサーバーに変更が反映されます。 ターミナルにライブステータスパネルが表示されます。
より詳細な出力(ビルドログ、同期リクエスト、エラートレース)が必要な場合は、--verbose フラグを使用します。




src/ 内の任意のファイルを編集すると、UI に反映されます。
CI やスクリプト向けの一回限りの同期
ウォッチャーなしで同じパイプラインを 1 回だけ実行するには、plan と apply を使用します。
すべてのモードで、認証済みのリモートが必要です。
plan の詳細については、Syncing & recovery を参照してください。
yarn twenty dev --once および yarn twenty dev --once --dry-run は非推奨であり、それぞれ yarn twenty apply および yarn twenty plan のエイリアスです。Dev モードのオプション
構築できるもの
アプリはエンティティで構成されており、それぞれが単一のexport default を持つ TypeScript ファイルとして定義されます:
完全なリファレンス: Concepts。
次のステップ
設定
アプリケーション ID、デフォルトロール、インストールフック、公開アセット。
データ
オブジェクト、フィールド、および双方向リレーション。
ロジック
ロジック関数、スキル、エージェント、および OAuth 接続。
レイアウト
ビュー、ナビゲーション、ページレイアウト、フロントコンポーネント。
オペレーション
CLI、テスト、リモート、CI、およびアプリの公開。