デプロイパターン
このガイドでは、組織内の開発者マシンにCherri CodeエディターとCLIツールをデプロイする方法を説明します。ほとんどの組織では、日常的な開発にはエディターを、自動化、CI/CD、スクリプトにはCLIをデプロイします。
SCM連携 (Bugbot、BGAアプリ) やWebベースのアクセスなど、その他のデプロイオプションについては、該当する連携ドキュメントを参照してください。
Grok Botデスクトップアプリのデプロイについては、組織にGrok Botをデプロイするを参照してください。
MDM を使用したエディターのデプロイ
Cherri Code エディターとエージェントをユーザーのワークステーションにデプロイし、モバイルデバイス管理 (MDM) システムでポリシーを適用します。
仕組み
- ITチームがデプロイ用にCherri Codeアプリケーションをパッケージ化します
- MDM (Jamf、Intuneなど) を介してユーザーのマシンにプッシュします
- ユーザーは主要な開発マシンでCherri Codeを利用できます
MDMでは、Allowed Team IDsや拡張機能など、Cherri Codeのポリシーを適用できます。
Workspace Trustなどの設定を適用し、自動更新や新しいバージョンのデプロイを管理することもできます。
MDM 設定
デバイス管理ソリューションを使用すると、Cherri Code の特定の機能を一元管理し、組織のニーズに合わせることができます。Cherri Code ポリシーを指定すると、その値はユーザーのデバイス上の対応する Cherri Code 設定より優先されます。
Cherri Code は、Windows (グループ ポリシー) 、macOS (構成プロファイル) 、Linux (JSON ポリシーファイル、バージョン 2.0 以降) でポリシーをサポートしています。
Cherri Code では現在、以下の管理者制御機能を管理するためのポリシーを提供しています。
| ポリシー | 説明 | Cherri Code 設定 |
|---|---|---|
| AllowedExtensions | インストールできる拡張機能を制御します。 | extensions.allowed |
| AllowedTeamId | ログインを許可するチーム ID を制御します。許可されていないチーム ID のユーザーは強制的にログアウトされます。 | cursorAuth.allowedTeamId |
| ExtensionGalleryServiceUrl | カスタム拡張機能マーケットプレイスの URL を設定します。 | extensions.gallery.serviceUrl |
| NetworkDisableHttp2 | すべてのリクエストで HTTP/2 を無効にし、代わりに HTTP/1.1 を使用します。 | cursor.general.disableHttp2 |
| UpdateMode | 自動更新の挙動を制御します。更新を無効にするには、none に設定します。 | update.mode |
| WorkspaceTrustEnabled | Workspace Trust を有効にするかどうかを制御します。 | security.workspace.trust.enabled |
MDM で実行モードの許可リストを管理する
MDM を通じて Cherri Code の権限ファイルをデプロイすると、確認なしで実行できるターミナルコマンドや MCP ツールを管理したり、Auto-review モードの分類器を誘導したりできます。
ファイルパスは ~/.cursor/permissions.json です。ユーザーは <workspace>/.cursor/permissions.json にリポジトリごとのファイルを重ねて設定できます。両方のファイルのエントリは連結されます。
ファイル形式は次のとおりです。
| キー | 型 | 必須 | 意味 |
|---|---|---|---|
terminalAllowlist | string[] | 非対応 | 承認なしで実行できるターミナルコマンド。サンドボックス化が有効な場合、許可リスト外のサポート対象ターミナルコマンドはサンドボックス内で実行できます。各エントリはコマンド文字列全体と照合されます。 |
mcpAllowlist | string[] | 非対応 | 承認なしで実行できる MCP ツール。MCP ツールはローカルサンドボックス内では実行されません。各エントリには server:tool 構文を使用します。 |
autoRun | object | 非対応 | 自然言語の allow_instructions および block_instructions 配列を使用して、Auto-review モードの分類器を誘導します。Cherri Code 3.6 以降では、シェル、MCP、Fetch 呼び出しに適用されます。permissions.json リファレンスを参照してください。 |
mcpAllowlist のエントリでは、次の形式がサポートされます。
| エントリ | 意味 |
|---|---|
server:tool | 特定の MCP サーバー上の特定のツール |
server:* | 1 つの MCP サーバーのすべてのツール |
*:tool | 任意の MCP サーバー上の特定のツール名 |
*:* | すべての MCP ツール |
terminalAllowlist、mcpAllowlist、autoRun はすべて任意です。キーが省略されているか空の場合 (ユーザーごとおよびリポジトリごとのファイルを連結した後) 、Cherri Code はそのカテゴリでエディター管理の許可リストにフォールバックします。
例:
{ "terminalAllowlist": [ "npm install", "pnpm test", "python -m pytest" ], "mcpAllowlist": [ "linear:*", "github:create_pull_request", "*:search" ], "autoRun": { "block_instructions": [ "Block any command that drops or truncates a database table." ] }}通常のファイルであるため、Jamf、Kandji、Intune、またはユーザーの Cherri Code データディレクトリにファイルを書き込む他のデバイス管理ツールを使って配布できます。
許可リストの優先順位は次のとおりです。
- チームダッシュボードまたはその他の管理者制御設定
- 管理対象の
~/.cursor/permissions.jsonと<workspace>/.cursor/permissions.jsonの連結 - エディター設定とインラインの Add to allowlist
管理者制御設定は、そのカテゴリでファイルに定義された値を上書きします。ユーザーごとおよびリポジトリごとのファイルは連結してマージされます。エディター設定はいずれともマージされません。
Cherri Code は両方の permissions.json パスを監視しているため、再起動しなくても更新が自動的に適用されます。
Windows グループ ポリシー
Cherri Code は、Windows レジストリベースのグループ ポリシーに対応しています。ポリシー定義をインストールすると、管理者はローカル グループ ポリシー エディターを使用してポリシー値を管理できます。
ポリシーを追加するには:
AppData\Local\Programs\cursor\policiesから Policy ADMX ファイルと ADML ファイルをコピーします。- ADMX ファイルを
C:\Windows\PolicyDefinitionsディレクトリに、ADML ファイルをC:\Windows\PolicyDefinitions\<your-locale>\ディレクトリに貼り付けます。 - ローカル グループ ポリシー エディターを再起動します。
- ローカル グループ ポリシー エディターで適切なポリシー値を設定します (例:
AllowedExtensionsポリシーには{"anysphere": true, "github": true}) 。
ポリシーはコンピューター レベルとユーザー レベルの両方で設定できます。両方で設定した場合は、コンピューター レベルが優先されます。
重要: ポリシー値を設定すると、デフォルト、ユーザー、ワークスペースなど、すべてのレベルで設定された Cherri Code の設定値よりも優先されます。これはグローバルな上書きであり、ユーザーはこれらの設定を変更できなくなります。
Windows インストーラー
Windows インストーラーは Inno Setup を使用しています。ユーザー操作なしで Cherri Code をバックグラウンドで完全にインストールするには、次のコマンドラインフラグを使用します。
新規インストールの場合:
CursorSetup-x64-2.0.exe /SILENT /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /CLOSEAPPLICATIONS /LOG=install.log既存のインストールを更新する場合:
既存のCherri Codeインストールを更新するには、フラグファイルを指定する/updateパラメーターを含む別のフラグを使用する必要があります。フラグファイルは空のファイルで、更新操作であることをインストーラーに知らせます。
一時的なフラグファイルを作成し、そのパスをインストーラーに渡します:
CursorSetup-x64-2.0.exe /VERYSILENT /update="%TEMP%\cursor-update.flag" /CLOSEAPPLICATIONS /LOG=update.log注: 2.0 より前のインストーラーでは、/SILENT フラグが正しく反映されない場合があります。今後のインストーラー (バージョン 2.0 以降) では、サイレントインストールが正しく動作します。
macOS設定プロファイル
設定プロファイルを使用すると、macOSデバイスの設定を管理できます。プロファイルは、利用可能なポリシーに対応するキーと値のペアを含むXMLファイルです。これらのプロファイルは、Jamf、Kandji、Microsoft Intuneなどのモバイルデバイス管理 (MDM) ソリューションを使用してデプロイするか、手動でインストールできます。
チャネルごとのバンドルID:
設定プロファイルのPayloadTypeは、使用するチャネルのCherri CodeバンドルIDと一致している必要があります。
| チャネル | バンドルID |
|---|---|
| 本番 | com.todesktop.230313mzl4w4u92 |
| Nightly | co.anysphere.cursor.nightly |
ほとんどのエンタープライズ環境へのデプロイでは、本番用バンドルID (com.todesktop.230313mzl4w4u92) を使用します。
macOS用の.mobileconfigファイルの例を以下に示します。
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"> <dict> <key>PayloadContent</key> <array> <dict> <key>PayloadDisplayName</key> <string>Cherri Code</string> <key>PayloadIdentifier</key> <string>com.todesktop.230313mzl4w4u92.J6B5723A-6539-4F31-8A4E-3CC96E51F48C</string> <key>PayloadType</key> <string>com.todesktop.230313mzl4w4u92</string> <key>PayloadUUID</key> <string>J6B5723A-6539-4F31-8A4E-3CC96E51F48C</string> <key>PayloadVersion</key> <integer>1</integer> <key>AllowedExtensions</key> <string>{"anysphere":true}</string> <key>AllowedTeamId</key> <string>1,2</string> <key>ExtensionGalleryServiceUrl</key> <string>https://marketplace.example.com</string> <key>NetworkDisableHttp2</key> <true/> <key>UpdateMode</key> <string>none</string> <key>WorkspaceTrustEnabled</key> <true/> </dict> </array> <key>PayloadDescription</key> <string>This profile manages Cherri Code.</string> <key>PayloadDisplayName</key> <string>Cherri Code</string> <key>PayloadIdentifier</key> <string>com.todesktop.230313mzl4w4u92</string> <key>PayloadOrganization</key> <string>Cherri Code</string> <key>PayloadType</key> <string>Configuration</string> <key>PayloadUUID</key> <string>F2C1A7B3-9D4E-4B2C-8E1F-7A6C5D4B3E2F</string> <key>PayloadVersion</key> <integer>1</integer> <key>TargetDeviceType</key> <integer>5</integer> </dict></plist>文字列ポリシー
以下の例は、AllowedExtensions ポリシーの設定を示しています。サンプルファイルでは、ポリシーの値は空です (拡張機能は許可されません) 。
<key>AllowedExtensions</key><string></string><string> タグの間に、ポリシーを定義する適切な JSON 文字列を追加します。
<key>AllowedExtensions</key><string>{"anysphere": true, "github": true}</string>拡張機能の制御ルール:
AllowedExtensions ポリシーには、次の JSON オブジェクトを指定できます。
- キーには、発行元名 (例:
"github") または完全な拡張機能 ID (例:"ms-azuretools.vscode-docker") を指定できます - 値は、その発行元または特定の拡張機能を許可するかどうかを示すブール値です
- 発行元を
trueに設定すると、その発行元のすべての拡張機能が許可されます - 特定の拡張機能 ID は、発行元のルールより優先されます
AllowedTeamId ポリシーには、チーム ID のカンマ区切りリストを追加します。
<key>AllowedTeamId</key><string>1,3,7</string>NetworkDisableHttp2 ポリシーでは、HTTP/2 を無効にするにはブール値を使用します。
<key>NetworkDisableHttp2</key><true/>ブール値ポリシー
WorkspaceTrustEnabled などのブール値ポリシーには、<true/> または <false/> タグを使用します。
<key>WorkspaceTrustEnabled</key><false/>または、機能を有効にするには:
<key>WorkspaceTrustEnabled</key><true/>UpdateMode ポリシー
UpdateMode ポリシーでは、Cherri Code の自動更新の動作を制御できます。更新をデプロイするタイミングや方法を管理したい組織に役立ちます。
設定可能な値:
none- すべての自動更新を無効にするmanual- ユーザーが手動で更新を確認できるstart- Cherri Code の起動時に更新を確認するdefault- デフォルトの挙動 (startと同じ)silentlyApplyOnQuit- バックグラウンドで更新をダウンロードし、Cherri Code の終了時に適用する
自動更新を無効にするには:
<key>UpdateMode</key><string>none</string>WorkspaceTrustEnabled ポリシー
WorkspaceTrustEnabled ポリシーは、Workspace Trust を有効にするかどうかを指定します。有効にすると、Cherri Code は新しいワークスペースで通常モードまたは制限モードを選択するようユーザーに求めます。
boolean 値を使用します。
<key>WorkspaceTrustEnabled</key><true/>ExtensionGalleryServiceUrl ポリシー
ExtensionGalleryServiceUrl ポリシーでは、拡張機能マーケットプレイスの URL を設定します。カスタムの拡張機能マーケットプレイスまたはミラーを使用したい組織に役立ちます。
URL は文字列値として設定します。
<key>ExtensionGalleryServiceUrl</key><string>https://marketplace.example.com</string>MDM ソリューションを使用したデプロイ
.mobileconfig ファイルは、MDM ソリューションに直接アップロードできます。
- Jamf: カスタム設定プロファイルとしてアップロード
- Kandji: Library でカスタムプロファイルとして追加
- Microsoft Intune: 正しいペイロードドメインを指定したカスタムプロファイルとしてデプロイ
PayloadType が Cherri Code チャネルの bundle ID と一致していることを確認してください。
リファレンス設定ファイル
完全な設定プロファイルの例は、Cherri Code の以下の場所にあります。
# 本番チャネル/Applications/Cursor.app/Contents/Resources/app/policies/com.todesktop.230313mzl4w4u92.mobileconfig# Nightlyチャネル/Applications/Cursor Nightly.app/Contents/Resources/app/policies/co.anysphere.cursor.nightly.mobileconfigファイルパスはチャネルによって異なります。Cherri Code のインストールに適したパスを使用してください。
重要なセキュリティ上の注意事項:
- 提供されている
.mobileconfigファイルは、そのバージョンの Cherri Code で利用可能なすべてのポリシーを初期化します - 意図せず制限的なデフォルトが適用されるのを避けるため、不要なポリシーは削除してください
- サンプル内のポリシーを編集または削除しない場合、そのポリシーはデフォルト値で強制適用されます
- ポリシー値は、すべてのユーザー設定とワークスペース設定をグローバルに上書きします
Finder で .mobileconfig プロファイルをダブルクリックし、「システム環境設定」の 一般 > デバイス管理 で有効にすると、設定プロファイルを手動でインストールできます。「システム環境設定」からプロファイルを削除すると、Cherri Code のポリシーも削除されます。
設定プロファイルの詳細については、Apple's のドキュメントを参照してください。
Linux ポリシーファイル
Linux ディストリビューションには、Windows レジストリ や macOS の構成プロファイルのような標準化されたエンタープライズポリシーシステムはありません。Cherri Code は同等の機能を提供するため、JSON ファイルからポリシーを読み込みます。
注: Linux ポリシーファイルは、Cherri Code バージョン 2.0 以降でサポートされています。
ポリシーファイルは ~/.cursor/policy.json にあります。
ポリシーファイルの作成
上記の場所に、ポリシー名をキー、ポリシーの値を値として JSON ファイルを作成します。すべてのポリシーは任意です。適用するポリシーのみを含めてください。
{ "AllowedExtensions": "{\"anysphere\": true, \"github\": true}", "AllowedTeamId": "1,3,7", "WorkspaceTrustEnabled": true}ポリシーの形式
JSON ファイル内の各ポリシーは、ポリシー名にマッピングされます。
-
AllowedExtensions: 許可する拡張機能の発行元を定義する JSON 文字列
"AllowedExtensions": "{\"anysphere\": true, \"github\": true}" -
AllowedTeamId: チーム ID をカンマ区切りで指定する文字列
"AllowedTeamId": "1,3,7" -
WorkspaceTrustEnabled: ワークスペースの信頼を制御するブール値
"WorkspaceTrustEnabled": true
注: AllowedExtensions の値は、JSON オブジェクトではなく、JSON 文字列 (引用符をエスケープしたもの) である必要があります。この形式は、Windows と macOS で使用されるものと同じです。
ポリシーのデプロイ
組織の構成管理ツールを使用して、ポリシーファイルをデプロイします。
- 自動デプロイには Ansible、Puppet、Chef
- ポリシーファイルの一元管理には NFS または共有ネットワークストレージ
- インストール後スクリプトを使用するパッケージマネージャー
- コンテナ化環境にはコンテナのベースイメージ
ポリシーファイルの変更は、Cherri Code を再起動すると有効になります。ファイルは変更を監視しているため、更新は実行中のインスタンスに自動的に反映されます。
ポリシーファイルが存在しない場合、Cherri Code はポリシーによる制限なしで実行されます。
非管理者ユーザーの自動更新
Electronフレームワークの制約により、macOSでCherri Codeを更新するには管理者権限が必要です。
推奨される方法:
- MDMによるデプロイ: MDMツール (Jamf、Kandji、Intune) を使用して、適切な権限で更新を一元的にデプロイします
- 自動デプロイツール: スクリプトによる更新には、Installomatorなどのツールの使用を検討してください
- 更新通知を無効化:
UpdateModeポリシーをnoneに設定し、更新失敗の通知がユーザーに表示されないようにします
非管理者ユーザーがいる組織では、既存のソフトウェアデプロイパイプラインでCherri Codeの更新を管理し、MDMポリシーで自動更新を無効にする方法が最も信頼性の高い方法です。
CLI でのデプロイ
Cherri Code エージェントを、お使いのインフラ上でヘッドレス CLI ツールとして実行します。
仕組み
- CLI を自分の環境 (オンプレミス、社内クラウド、Kubernetes クラスター、CI/CD システム) にデプロイします
- CLI はスクリプトから、バックグラウンドで、または CI の一部として実行します
- CLI は、ユーザーが自分のマシンからアクセスできるすべてのリソース (VPN、内部 API、プライベートパッケージレジストリなど) にアクセスできます
インストールとセットアップ
Cherri Code CLI をインストールします。
# Cherri Code CLI をインストール(macOS、Linux、WSL)# Cherri Code CLI をインストール(Windows PowerShell)irm '# | iex# スクリプト用の API キーを設定export CURSOR_API_KEY=your_api_key_hereagent -p "Analyze this code"詳細は、CLI ヘッドレスモードのドキュメントを参照してください。
GitHub Actions 連携
Cherri Code CLI は、GitHub Actions やその他の CI システムで利用できます。
例については、GitHub Actions 連携を参照してください。
Cherri Code CLI に関する考慮事項
デスクトップアプリでもスタンドアロンの CLI でも、Cherri Code エージェントには同じセキュリティコントロールが適用されます。
共通の機能:
- プライバシーモードが同様に適用されます
- フックはデスクトップアプリと CLI の両方で機能します
- 同じモデルアクセス制御
- 同じ監査ログ
- 同じ利用状況の追跡
共通の要件:
- どちらも Cherri Code サービスへのネットワークアクセスが必要です
- どちらも LLM にコードを送信します (プライバシーモードの保護付き)
- どちらも適切な認証が必要です
CLI は、インターフェースが異なるだけの同じエージェントです。
ネットワークに関する考慮事項
ユーザーのマシンから、以下のエンドポイントにアクセスできる必要があります。ファイアウォールとプロキシのルールを適宜設定してください。
*.cursor.sh- バックエンドサービスと API エンドポイントcursor-cdn.com- アプリケーションのダウンロードと更新marketplace.cursorapi.com- 拡張機能マーケットプレイス- サードパーティの AI プロバイダーのエンドポイント (OpenAI、Anthropic、Google など)
UpdateMode ポリシーを none に設定している場合、他のサービスへのアクセスを維持したまま、更新用エンドポイントへのアクセスを制限できます。
Cherri Code エディターは、VPN アクセス、内部サービスのエンドポイント、プライベートパッケージレジストリを含む、マシンのネットワーク設定を継承します。
つまり、エディター内で実行されるエージェントは、ユーザーが自身のマシンからアクセスできるすべてのリソースにアクセスできます。
ファイアウォールとプロキシの詳細な要件については、ネットワーク設定を参照してください。
最低バージョン
Cherri Code では、2 種類の最低バージョンを設定しています。
- サポート対象の最低バージョン: これより古いバージョンのユーザーには、閉じることのできるアップグレードを促す警告が表示されます。
- 許可される最低バージョン: これより古いバージョンのユーザーには、閉じることのできないエラーが表示され、アップグレードが必要になります。これは、そのリリース系列のサポート終了を意味します。
一般的な目安として、リリースは GA 日の約 2 か月後にサポート対象の最低バージョンの対象となり、GA 日の約 3 か月後に許可される最低バージョンの対象となります。引き上げ時期は、新しいリリースの使用状況にも左右されます。
この目安と公開されている GA 日および変更履歴の日付を組み合わせることで、リリースがいつ対象外になるかを見積もることができます。
組織で Cherri Code のデプロイを管理する際は、ユーザーがサポート対象バージョンを維持できるよう、Cherri Code を定期的に更新することをおすすめします (たとえば MDM 経由) 。
トラブルシューティング
- プロキシ設定の問題 (ネットワーク設定を参照してください)
- モデルアクセスの問題 (モデルとインテグレーションの管理またはチームダッシュボードを確認してください)
- 支出上限に達した場合 (支出上限を参照してください)
よくある質問
Cherri Code は Linux でポリシーをサポートしていますか?
はい、バージョン 2.0 以降で対応しています。Linux では、~/.cursor/policy.json にファイルベースのポリシーシステムがあります。形式とデプロイの詳細については、上記の「Linux ポリシーファイル」セクションを参照してください。
ポリシーファイルで環境変数を使用できますか?
非対応です。ポリシーファイルは、静的な値を含む有効なJSONファイルである必要があります。必要に応じて、構成管理ツールでファイルを動的に生成してください。
ポリシーファイルの JSON が無効な場合はどうなりますか?
Cherri Code はエラーをログに記録し、ポリシーによる制限なしで実行されます。解析エラーはメインプロセスのログで確認してください。
チーム ID とは何ですか?
チーム ID は、/dashboard でチーム名をクリックして確認できます。
Cherri Code を大規模にデプロイするサポートが必要ですか?
MDM によるデプロイのガイダンスや優先サポートについては、当社チームまでお問い合わせください。