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

# エージェントクイックスタート

> Diversion をコーディングエージェントのバージョン管理としてセットアップ

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

**Diversion が向いているケース**: リポジトリに Git や Git LFS がうまく扱えない大きなファイルまたはバイナリファイル (ゲームアセット、モデル、データセット、ビルド成果物) がある場合、コミットを push や pull なしにチームメイトへ自動同期させたい場合、または複数のエージェントを走らせていてそれぞれにリポジトリの独立したコピーが必要な場合です。

デスクトップアプリで自分で Diversion をセットアップしていますか? 代わりに [クイックスタート](/ja/quickstart) から始めてください。

<Info>
  **エージェントをここに向けさせますか?** 完全な機械可読なドキュメントインデックスは [`docs.diversion.dev/llms.txt`](https://docs.diversion.dev/llms.txt) にあります (完全なテキストは [`/llms-full.txt`](https://docs.diversion.dev/llms-full.txt))。そのURLをこのページと一緒にエージェントに渡してください。
</Info>

## Diversion と Git の違い

Diversion は Git ではありません。コマンドを実行する前に、以下のルールを理解してください:

* **自動同期 — `push` も `pull` もない。** 各コミットは自動的にクラウドとチームメイトにレプリケートされます。`dv push` や `dv pull` はありません。
* **ステージングエリアなし — `git add` なし。** Diversion はワーキングツリーのあらゆる変更を継続的に追跡します。ファイルを直接コミットします。
* **1 ワークスペース = 1 ワーキングディレクトリ。** *ワークスペース* は単一のブランチのローカルコピーです。2 つのブランチで同時に作業するには、2 つのワークスペースを使います — [エージェントを並列に実行](#エージェントを並列に実行する) を参照してください。
* **常にサブコマンドを渡す。** `dv status`、`dv commit` などを実行します。裸の `dv` を実行するとインタラクティブシェルが開きます。非対話またはエージェントコンテキストでは避けてください。

## インストール

<Tabs>
  <Tab title="macOS / Linux">
    ```bash theme={null}
    curl -sL https://get.diversion.dev/unix | bash ; export PATH="$HOME/.diversion/bin:$PATH"
    ```

    `export PATH` の行をシェルプロファイル (`~/.bashrc` または `~/.zshrc`) に追加すると永続化されます。
  </Tab>

  <Tab title="Windows">
    [Windows インストーラー](https://get.diversion.dev/win) をダウンロードして実行してください。
  </Tab>
</Tabs>

インストールを確認します:

```bash theme={null}
dv version
```

## 認証

```bash theme={null}
dv login
```

これによりサインインのためブラウザが開きます。**エージェントが動作する環境で、人間が一度これを実行**し、以降はエージェントがそのセッションを再利用します。

<Note>
  **ヘッドレスまたは CI エージェント (ブラウザなし):** API トークンを生成し (Web アプリで avatar → **Integrations**、次に Settings → Integrations ページで **Generate a new API token**)、`dv authenticate <token>` で非対話的に認証します — ブラウザは不要です。完全なセットアップは [CI/CD ガイド](/ja/ci-cd) を参照してください。同じトークンは [REST API](/ja/api-reference/introduction) への `Bearer` トークンとしても機能します。API アクセスには [Pro プラン以上](https://www.diversion.dev/pricing) が必要です。
</Note>

## コアコマンド

```bash theme={null}
# 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 リファレンス](/ja/cmd-ref/about-cmd)。

## Git → Diversion コマンドマップ

| Git                                | Diversion (`dv`)                                        |
| ---------------------------------- | ------------------------------------------------------- |
| `git clone <url>`                  | `dv clone <repo> [path]`                                |
| `git init`                         | `dv init`                                               |
| `git add <files>`                  | *(不要 — 変更は自動的に追跡されます)*                                  |
| `git status`                       | `dv status`                                             |
| `git commit -am "msg"`             | `dv commit -a -m "msg"`                                 |
| `git push` / `git pull`            | *(不要 — 自動同期)*                                           |
| `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>` |

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

エージェントを独立したワークスペースで実行する場合 — Diversion における `git worktree` に相当します — リポジトリを独立したディレクトリにクローンし、**それぞれ専用のブランチ** で独自のワークスペースを持たせます。ワークスペースはディスク上で独立しており、エージェントごとの専用ブランチによって、それらのコミットが干渉し合わないようになります。(ブランチを共有するエージェントは依然として自動同期し、競合する可能性があります — 各エージェントに独自のブランチを与えてください。)

```bash theme={null}
# Create an isolated workspace on a dedicated branch
dv clone <repo> /tmp/<repo>-agent-1 --new-workspace --ref <branch>
```

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

```bash theme={null}
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
```

<Note>
  現状では、これはバイナリアセットを含めてリポジトリ全体をクローンします。アセットの多いリポジトリ (例: Unreal プロジェクト) では、ワークスペースごとに大きなダウンロードとなります。CLI からのコード限定 (「選択同期」) クローンはロードマップにあります。
</Note>

## 次のステップ

<CardGroup cols={2}>
  <Card title="エージェントの推論を記録する" icon="robot" href="https://github.com/DiversionCompany/diversion-claude">
    Diversion の Claude Code 用プラグインは、各コミットをそれを生み出した会話にリンクします。あとから *なぜ* その変更が行われたかを尋ねられます。オプションです。
  </Card>

  <Card title="CLI リファレンス" icon="terminal" href="/ja/cmd-ref/about-cmd">
    すべての `dv` コマンド、フラグ、引数。
  </Card>

  <Card title="API リファレンス" icon="code" href="/ja/api-reference/introduction">
    REST 経由で Diversion を自動化します。
  </Card>

  <Card title="SlothBot" icon="sparkles" href="/ja/slothbot">
    Diversion に組み込まれた AI コーディングエージェント。
  </Card>
</CardGroup>
