Created on | Updated on

エージェント向けクイックスタート

コーディングエージェントのバージョン管理としてDiversionを設定する

このページは、AIコーディングエージェント(Claude Code、Cursor、Codex、またはシェルコマンドを実行できるあらゆるツール)向けに書かれています。dv CLIを使って、リポジトリのバージョン管理にDiversionを利用する方法を説明します。Diversionはクラウドネイティブなバージョン管理システムです。GitやPerforceの代替となるツールで、大容量のバイナリファイルを扱えるよう設計されており、自動同期に対応しています。

リポジトリに、GitやGit LFSでは扱いにくい大容量ファイルやバイナリファイル(ゲームアセット、モデル、データセット、ビルド成果物など)が含まれる場合、コミットをチームメンバーに自動で同期したい場合(pushやpullは不要)、またはそれぞれにリポジトリの独立したコピーを必要とする複数のエージェントを実行する場合に、Diversionを使用してください。

デスクトップアプリを使ってご自身でDiversionをセットアップする場合は、代わりにクイックスタートから始めてください。

エージェントにこのページを参照させる場合は、機械可読形式の完全なドキュメントインデックスがdocs.diversion.dev/llms.txtにあります(全文は/llms-full.txt)。このページとあわせて、そのURLをエージェントに渡してください。

Gitとの違い

DiversionはGitではありません。コマンドを実行する前に、次のルールをしっかり把握してください。

  • 自動同期:pushやpullはありません。すべてのコミットは、クラウドとチームメンバーに自動的に反映されます。dv pushやdv pullというコマンドは存在しません。
  • ステージングエリアなし:git addは不要です。Diversionは作業ツリー内のすべての変更を常に追跡します。ファイルは直接コミットします。
  • 1つのワークスペース = 1つの作業ディレクトリ:ワークスペースは、1つのブランチのローカルコピーです。2つのブランチで同時に作業するには、2つのワークスペースを使用してください。詳しくはエージェントを並列で実行するをご覧ください。
  • 必ずサブコマンドを指定する:dv statusやdv commitなどのように実行してください。サブコマンドなしでdvだけを実行すると対話型シェルが起動するため、非対話型の環境やエージェントからの実行では使用しないでください。

 

インストール

macOS/Linux

 

curl -sL https://get.diversion.dev/unix | bash ; export PATH="$HOME/.diversion/bin:$PATH"

設定を永続化するには、export PATHの行をシェルのプロファイル(~/.bashrcまたは~/.zshrc)に追加してください。 

インストールされたことを確認します。

dv version

 

認証する

dv login

 

ブラウザーが開き、サインイン画面が表示されます。このコマンドは、エージェントが動作する環境で人間が一度だけ実行してください。以降は、エージェントがそのセッションを再利用します。


ヘッドレス環境やCIで動作するエージェント(ブラウザーがない場合):APIトークンを生成し(Webアプリでavatar→ Organization settings → 設定サイドバーのIntegrationsを開き、Generate a new API tokenをクリック)、dv authenticate <token>で非対話的に認証してください。ブラウザーは不要です。詳しい設定方法はCI/CDガイドをご覧ください。同じトークンは、REST APIのBearerトークンとしても使用できます。APIを利用するには、Proプラン以上が必要です。

 

コアコマンド

# Start tracking a new project in the current directory
dv init

# Get a working copy of an existing repository
dv clone <repo> [path]

# See what changed in the working tree
dv status

# Commit all current changes (replicates automatically — no push needed)
dv commit -a -m "your message"

# Create a new branch and switch to it
dv branch -c <branch-name>

# Switch to an existing branch, commit, or tag
dv checkout <ref>

# Merge another branch into the current one
dv merge <branch>

# View history
dv log

完全リファレンス:CLI Reference

 

Git → Diversion コマンド対応表

Git Diversion (dv)
git clone <url> dv clone <repo> [path]
git init dv init
git add <files> (not needed — changes are tracked automatically)
git status dv status
git commit -am "msg" dv commit -a -m "msg"
git push / git pull (not needed — auto-sync)
git checkout -b <name> dv branch -c <name>
git switch <name> dv checkout <name>
git merge <name> dv merge <name>
git log dv log
git worktree add <path> <branch> dv clone <repo> <path> --new-workspace --ref <branch>

 

エージェントを並列で実行する

 

独立したワークスペースでエージェントを実行するには(Gitのgit worktreeに相当する方法です)、リポジトリを別のディレクトリにクローンし、それぞれに専用のワークスペースを持たせ、エージェントごとに別のブランチを割り当ててください。各ワークスペースはディスク上で分離されており、エージェントごとに専用のブランチを用意することで、互いのコミットが干渉するのを防げます。(同じブランチを共有するエージェントは、そのブランチに自動同期されるため、コンフリクトが発生する可能性があります。エージェントにはそれぞれ専用のブランチを割り当ててください。)

# Create an isolated workspace on a dedicated branch
dv clone <repo> /tmp/<repo>-agent-1 --new-workspace --ref <branch>

エージェントは/tmp/<repo>-agent-1内で作業し、通常どおりコミットします。変更はそのブランチに自動同期されます。作業が完了したら、次のようにワークスペースを削除してください。

dv workspace            # list workspaces to find the one to remove (id starts with dv.ws.)
dv unregister -f        # run from inside /tmp/<repo>-agent-1 — detaches the local copy
dv workspace delete <workspace-id> -f
rm -rf /tmp/<repo>-agent-1

現時点では、この方法ではバイナリアセットを含むリポジトリ全体がクローンされます。アセットの多いリポジトリ(Unrealプロジェクトなど)では、ワークスペースごとに大量のダウンロードが発生します。CLIからコードのみをクローンする機能(「選択的同期」)は、今後のロードマップに含まれています。

問題が解決しない場合は、Born Digital サポートまでお問い合わせ下さい。

※ 問い合わせ対応はBorn Digitalより製品をご購入頂きましたお客様のみのサービスとなります。ご了承下さい。
サポート問い合わせ