> ## Documentation Index
> Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# アプリ

> コードで Twenty を拡張しましょう。カスタムオブジェクト、サーバーサイドロジック、UI コンポーネント、AI エージェントをすべて TypeScript パッケージとして追加できます。

ほとんどの CRM は設定パネルを提供します。 Twenty はプラットフォームを提供します。 アプリは、開発者が UI で提供される範囲を超えて Twenty を拡張する方法です。データモデル、サーバーサイドロジック、UI コンポーネント、AI 機能をコードとして定義し、それらを 1 つ以上のワークスペースにデプロイできます。

## アプリが存在する理由

ワークフローはノーコードの自動化を担います。 しかし、コードが必要なものもあります。たとえば、カスタムの料金算出エンジン、独自のエンリッチメントパイプライン、レコードの更新ごとに実行されるコンプライアンスチェック、社内ツールからデータを取得するカスタム UI パネルなどです。

アプリを使えば、これらを一級の拡張機能として構築できます。外部から API と通信する壊れやすいスクリプトではなく、型システム、権限モデル、UI へ完全にアクセスできる、プラットフォーム上で実行されるコードとして実現できます。

## アプリで定義できるもの

アプリは、`twenty-sdk` を使って **エンティティ** を宣言する TypeScript パッケージです。

| エンティティ           | 機能                                                                         |
| ---------------- | -------------------------------------------------------------------------- |
| **オブジェクトとフィールド** | 既存オブジェクト上の新しいデータテーブルとフィールド — 組み込みのものと同様に扱われます                              |
| **ロジック関数**       | HTTP ルート、cron スケジュール、またはデータベースイベントによってトリガーされるサーバーサイドの TypeScript           |
| **フロントコンポーネント**  | サンドボックス化された React コンポーネントで、Twenty の UI（サイドパネル、ウィジェット、コマンドメニュー）内でレンダリングされます |
| **スキルとエージェント**   | AI 機能 — 再利用可能な指示と自律型アシスタント                                                 |
| **ビューとナビゲーション**  | 事前設定済みのリストビューとサイドバーのメニュー項目                                                 |

すべてはビルド時に AST 解析によって検出されます — 設定ファイルも登録用のボイラープレートも不要です。 任意の `.ts` ファイルに `export default defineObject(...)` を記述するだけで、SDK がそれを検出します。

## 実行方式

* **ロジック関数**は、ホストからサンドボックス化された分離された Node.js プロセスで実行されます。 それらは、アプリのロール権限の範囲にスコープされた型付き API クライアントを通じてデータにアクセスします。
* **フロントコンポーネント**は Remote DOM を用いた Web Workers 内で実行されます—メインページからサンドボックス化されつつ、ネイティブの DOM 要素（iframe ではありません）をレンダリングします。
* **権限**は API レベルで強制されます。 アプリは自分のロールで許可されたものだけを参照できます。

## 開発者エクスペリエンス

ローカル環境で TypeScript プロジェクトとしてアプリを作成します。 CLI がソースファイルを監視し、実行中の Twenty サーバーとライブ同期します — ファイルを編集すると、1 秒以内に UI に変更が反映されます。 スキーマが変更されると、型付き API クライアントは自動的に再生成されます。 準備ができたら、`yarn twenty app:publish --private` で本番サーバーにプッシュするか、`yarn twenty app:publish` でアプリを npm と Twenty マーケットプレイスに掲載します。

<Card title="最初のアプリを構築する" icon="arrow-right" href="/l/ja/developers/extend/apps/getting-started">
  3 フェーズのウォークスルー — 雛形の作成、ローカルサーバーの実行、変更内容の同期。
</Card>
