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

# クラシック構成

> 従来の対話型ウィザードで Devin の環境を構成する

<Info>宣言的な構成をお探しですか？新しくセットアップする場合に推奨される方法については、[Declarative configuration (blueprints)](/ja/onboard-devin/environment/blueprints) を参照してください。</Info>

Devin は、各セッションの開始時に仮想マシンのスナップショットを読み込んで動作します。Devin が最大限に力を発揮するには、このスナップショットに、Devin に作業させたいすべてのリポジトリと、あなたのコードベースに取り組むために Devin に必要となりうるツールや依存関係をすべて含めておく必要があります。こうしておけば、Devin は毎回環境をセットアップし直す必要がなくなり、コードを書くことに集中できます。

このガイドでは、あなたのリポジトリの 1 つに Devin をオンボードし、Devin の環境 (仮想マシンのスナップショット) を構成する方法を説明します。これは、Devin の初出社日に使うノート PC をセットアップする作業だと考えることができます。

<Tip>
  Devin の環境を正しくセットアップすると、あなたの
  コードベースに対する Devin のパフォーマンスが大幅に向上します。タスクを始めるたびに、
  あなたのノート PC と記憶の一部が消去されてしまうところを想像してください――
  不完全または誤ったセットアップだと、Devin にはそれと同じことが起きてしまいます！
</Tip>

<div id="add-a-repository">
  ## リポジトリを追加する
</div>

まず、Devin があなたのリポジトリにアクセスできる状態になっていることを確認してください。リポジトリは、以下で Devin のアクセス権限を設定することで、いつでも追加できます。

* **Teams**: [Settings > Connections](https://app.devin.ai/settings/connections)
* **Enterprise**: [Enterprise Settings > Integrations](https://app.devin.ai/settings/connected-accounts)

次に、Organization 内で [Devin's Machine](https://app.devin.ai/machine) にアクセスし、**Add repository** をクリックします。Devin の環境に追加したいリポジトリを選択し、**Start** をクリックして設定を開始します。

<Frame>
  <img src="https://mintcdn.com/cognitionai/U3kdL8kl7-zWUmHJ/images/onboard-devin/Start-Repo-Setup.png?fit=max&auto=format&n=U3kdL8kl7-zWUmHJ&q=85&s=23ccd8aa7e646c1600eb2efa0ea01820" alt="Devin" width="1764" height="548" data-path="images/onboard-devin/Start-Repo-Setup.png" />
</Frame>

<Tip>
  Devin のマシンは Ubuntu 22.04 (x86\_64) 上で動作しています。ターミナルで Ctrl+K を押すと、インストール用コマンドを自動生成できます。
</Tip>

<div id="set-up-the-repository-and-development-environment">
  ## リポジトリと開発環境のセットアップ
</div>

Repo Setup に入ると、次の 3 つのパネルが表示されます。

1. **リポジトリセットアップ手順**: 8 つすべてのセットアップ手順が順番に表示され、それぞれに対応して設定に保存されるコマンドが表示されます。
2. **Devin AI Setup Agent**: Devin が対象のリポジトリに基づいて各ステップで行うべきことを提案し、保存できる状態になるまでセットアップ内容を繰り返し調整します。
3. **VS Code Terminal**: 埋め込み VSCode 環境内で任意のコマンドを実行したり、ファイルシステムを直接参照したりできます。

<div id="ai-generated-suggestions">
  ### AI による自動提案
</div>

リポジトリを追加すると、Devin はコードベースを分析し、その結果に基づいて各ステップ向けのセットアップ提案を自動生成します。各提案は個別に承認または却下でき、Devin AI Setup Agent を使って提案内容を反復しながら改善することもできます。

<div id="repository-setup-steps">
  ### リポジトリ設定手順
</div>

<Steps>
  <Step title="Git Pull">
    各セッションの開始時に、リポジトリから最新の変更を取得するために Devin が実行するコマンドです。ほとんどの場合、デフォルトのコマンドのままで問題ありません。Devin がリポジトリ内のすべてのサブモジュールにアクセスできることを確認してください。
  </Step>

  <Step title="シークレットの設定">
    Devin がリポジトリで作業するために必要なシークレットや環境変数を設定します。詳細は [シークレットの設定](#configuring-secrets) を参照してください。
  </Step>

  <Step title="依存関係のインストール">
    リポジトリの初期依存関係をインストールするためのコマンドです。これはセットアップ時に一度だけ実行され、Devin の環境を準備します。
  </Step>

  <Step title="依存関係の更新">
    セッション開始時に git pull の後で、新しい依存関係が追加されている場合に備えて Devin が実行するコマンドです。通常、これは依存関係のインストールに使用するコマンド (例: `npm install`、`pip install -r requirements.txt` など) と同じであるべきです。
  </Step>

  <Step title="Lint のセットアップ">
    Lint の実行や構文エラーのチェックに Devin が使用するコマンドです。Devin は変更をコミットする前に、これらのコマンドの出力を確認します。
  </Step>

  <Step title="テストのセットアップ">
    テストを実行するために Devin が使用するコマンドです。Lint コマンドと同様に、Devin は変更をコミットする前に、これらのコマンドの出力を確認します。
  </Step>

  <Step title="ローカルアプリの実行">
    コードをローカルで実行する方法を Devin に伝えます。Devin が変更をテストまたはデバッグするためにコードを実行する必要がある場合に便利です。Devin のブラウザーを使用して、Devin に利用させたい Web サイトにログインできます。ログインがタイムアウトする場合は、ログイン情報を [secrets](/ja/product-guides/secrets) に追加してください。
  </Step>

  <Step title="補足事項">
    Devin がこのリポジトリで作業する際の追加の指示を記載します。
  </Step>
</Steps>

<div id="finish-or-save-setup">
  ### セットアップを完了または保存する
</div>

セットアップ内容が完了したら、**Finish Setup** をクリックしてセットアップを保存します。これにより、セットアップ手順で指定したすべてのコマンドが再実行され、Devin の環境が構成されます。

変更作業がまだ完了していない場合は、**Finish Later** をクリックしてセットアップを保存します。これにより、セットアップは進行中の状態で保存され、後から再開できます。ただし、**同時に進行中にできるセットアップは 1 件のみ** のため、やむを得ない場合を除いてこのオプションの使用は推奨しません。

<Tip>
  **コマンド設定に関するヒント:**

  * まず VS Code のターミナルでコマンドを実行し、検証前にキャッシュを効かせておきましょう。
  * 特定のディレクトリでコマンドを実行する必要がある場合は、`cd` を次のように使用してください: `cd <directory> && <command>`。
  * プロジェクトに lint コマンドがない場合は、ビルドコマンドを指定しておくと、Devin がコンパイルエラーをチェックできます。
  * プロジェクトの lint やテスト手順が複雑な場合は、それらの手順はスキップし、「Additional Notes」ステップで Devin に説明してください。
  * コマンドの検証で問題が発生した場合は、[トラブルシューティングのセクション](#troubleshooting) を参照してください。
</Tip>

<div id="configure-previously-added-repositories">
  ## 以前に追加したリポジトリの設定
</div>

[Settings > Devin's Machine](https://app.devin.ai/machine) から、既存のリポジトリを編集したり、新しいリポジトリを追加したりできます。

既存のリポジトリを編集するには、ページ右上の **Configure** をクリックし、**Add/Modify/Remove repo** を選択して編集したいリポジトリを指定し、**Submit** をクリックします。

<Frame>
  <img src="https://mintcdn.com/cognitionai/U3kdL8kl7-zWUmHJ/images/onboard-devin/Configure-Devins-Machine.png?fit=max&auto=format&n=U3kdL8kl7-zWUmHJ&q=85&s=f9976b4e9cb960ad6e905f32d20bad12" alt="Devin" width="1742" height="832" data-path="images/onboard-devin/Configure-Devins-Machine.png" />
</Frame>

または、一覧から編集したい既存のリポジトリを選択し、**Modify repo setup** をクリックして、そのセットアップ手順を編集することもできます。

<Frame>
  <img src="https://mintcdn.com/cognitionai/U3kdL8kl7-zWUmHJ/images/onboard-devin/modify-repo-setup.png?fit=max&auto=format&n=U3kdL8kl7-zWUmHJ&q=85&s=e5ea869dd003168b049687ebdcef64cb" alt="Devin" width="2098" height="1634" data-path="images/onboard-devin/modify-repo-setup.png" />
</Frame>

<div id="machine-version-history">
  ### マシンのバージョン履歴
</div>

セットアップ中に誤って破壊的な変更を加えてしまった場合は、以前の環境スナップショットに戻すことができます。[Settings > Devin's Machine](https://app.devin.ai/machine) に移動し、**Version History** タブに切り替えて、正常に動作していたことが分かっている過去のスナップショットを復元してください。

<Frame>
  <img src="https://mintcdn.com/cognitionai/U3kdL8kl7-zWUmHJ/images/onboard-devin/Devin-Machine-Version-History.png?fit=max&auto=format&n=U3kdL8kl7-zWUmHJ&q=85&s=ff064cbc842f30f7a55999bc2c640096" alt="Devin" width="1746" height="1082" data-path="images/onboard-devin/Devin-Machine-Version-History.png" />
</Frame>

<div id="configuring-secrets">
  ## シークレットの設定
</div>

APIキー、パスワード、トークンなどのシークレットは、[secrets](/ja/product-guides/secrets) ダッシュボードから追加できます。可能な場合は、Devin の環境で `.env` ファイルと [`direnv`](https://direnv.net/) を組み合わせて使用し、環境変数を自動管理することを推奨します。詳細は、以下の [環境変数の設定例](#configuring-environment-variables) を参照してください。

<div id="examples">
  ## 例
</div>

以下では、さまざまなユースケースに応じて Devin の環境をセットアップする例をいくつか紹介します。

Devin はすべてのコマンドを bash で実行するため、よくあるパターンとして、`~/.bashrc` ファイルを編集して Devin のシェル環境を自動的にセットアップする方法があります。ターミナルで `devin ~/.bashrc` を実行すると、VS Code でこのファイルを編集できます。

<div id="configuring-environments-automatically-for-different-repositories">
  ### 異なるリポジトリ向けに環境を自動設定する
</div>

<Tip>
  2025年4月24日以降に Devin にサインアップしたチームでは、`custom_cd`
  セクションがすでに `~/.bashrc` に含まれているはずです。その場合は、その
  セクションを自分たちのリポジトリ用に更新するだけで済みます。
</Tip>

異なるバージョンの Node が必要な 2 つのリポジトリがあり、各リポジトリごとに Devin に自動で適切なバージョンを使わせたいとします。ここでは、Node のバージョンをインストールおよび管理するために [`nvm`](https://github.com/nvm-sh/nvm) を使用します。`nvm` は Devin のマシンにはすでにインストールされているはずです。

まず、VS Code ターミナルで次のコマンドを実行して、2 つの Node バージョンをインストールします。

```bash theme={null}
nvm install 18
nvm install 20
```

次に、ターミナルで `devin ~/.bashrc` を実行して `~/.bashrc` を開きます。`~/.bashrc` の末尾に次の内容を追記します。

```bash theme={null}
function custom_cd() {
  builtin cd "$@"

  if [[ "$PWD" == "$HOME/repos/node18"* ]]; then
    nvm use 18 >/dev/null 2>&1
  elif [[ "$PWD" == "$HOME/repos/node20"* ]]; then
    nvm use 20 >/dev/null 2>&1
  fi
}

alias cd='custom_cd'
cd $PWD
```

これにより、Devin が `node18` リポジトリ内にいる場合は常に `nvm use 18` が、`node20` リポジトリ内にいる場合は常に `nvm use 20` が実行されます。

<div id="configuring-environment-variables">
  ### 環境変数の設定
</div>

[`direnv`](https://direnv.net/) は Devin のマシンにあらかじめインストールされており、リポジトリごとに環境変数を管理するために利用できます。direnv のフックはすでに `~/.bashrc` に設定されています。

特定のリポジトリ用の環境変数を設定するには、そのリポジトリのルートに `.envrc` ファイルを作成します。例えば、次のようにします。

```bash theme={null}
export ENV_VAR=1
export ANOTHER_ENV_VAR=2
```

最後に、ターミナルで `direnv allow` を実行して、環境変数を読み込みます。

これで、今後このリポジトリで作業する際、Devin は `.envrc` ファイル内の環境変数を自身の環境に取り込めるようになります。

<Tip>
  `.envrc` が誤ってリポジトリにコミットされないよう、`.gitignore` ファイルに `.envrc` を追加することをおすすめします。
</Tip>

<div id="adding-directories-to-the-system-path">
  ### システムの PATH へのディレクトリの追加
</div>

`~/.bashrc` を編集して、ディレクトリをシステムの PATH に追加できます。これにより、Devin がそれらのディレクトリ内の実行ファイルをより簡単に実行できるようになります。たとえば、`~/.bashrc` の末尾に次を追記すると、`~/bin` ディレクトリがシステムの PATH に追加されます。

```bash theme={null}
export PATH="$HOME/bin:$PATH"
```

これで Devin は `~/bin` ディレクトリ内の実行ファイルを、フルパスを指定せずに実行できるようになります。

<div id="logging-in-to-websites">
  ## ウェブサイトへのログイン
</div>

環境のセットアップ中に、Browser タブを使用して、Devin に操作させたい任意のウェブサイトにログインできます。これらのセッション Cookie は Devin の環境に保存され、今後のセッションでも Devin が利用できるようになります。ログインが頻繁にタイムアウトするウェブサイトを利用している場合は、[Secrets](/ja/product-guides/secrets) ダッシュボードで Devin 用の認証情報も設定しておくことをおすすめします。

<div id="scripted-browser-use-via-playwright">
  ### Playwright を使ったスクリプトによるブラウザ操作
</div>

ブラウザベースの認証 (SSO (シングルサインオン) 、OAuth など) や定型的なデータ入力が必要なアプリでは、Devin は Playwright スクリプトを作成して実行し、自身の実行中のブラウザに対するこれらのフローを自動化できます。これらのスクリプトは自分で作成し、リポジトリにチェックインすることもできます。Devin の Chrome ブラウザは、Playwright が接続できる **Chrome DevTools Protocol (CDP) ** エンドポイント `http://localhost:29229` を公開しています。

```python theme={null}
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp("http://localhost:29229")
    context = browser.contexts[0]
    page = context.pages[0] if context.pages else context.new_page()

    # ここにログインフローの自動化処理を記述する
    page.goto("https://your-app.com/login")
    page.fill('input[name="email"]', "user@example.com")
    page.fill('input[name="password"]', "password")
    page.click('button[type="submit"]')
    page.wait_for_url("**/dashboard")
```

スクリプトを実行すると、認証済みのセッション (cookies、localStorage、auth tokens) が Devin のブラウザ内に保持されます。これにより、Devin はページを更新したり、移動したり、app を通常どおり操作したりでき、ログイン状態もそのまま維持されます。

<Tip>
  ログインスクリプトは リポジトリ の `.agents/skills/` ディレクトリに保存し、認証情報は [Secrets](/ja/product-guides/secrets) 経由で参照してください。そうすることで、Devin はすべてのセッションで自動的に再認証できます。詳細は [Computer Use — スクリプト化されたブラウザ利用](/ja/work-with-devin/computer-use#scripted-browser-use-via-playwright) を参照してください。
</Tip>

<div id="troubleshooting">
  ## トラブルシューティング
</div>

<div id="why-arent-my-commands-being-verified">
  ### なぜコマンドが検証されないのですか？
</div>

あるコマンドの検証時にエラーが発生した場合は、その出力を確認し、別の新しいターミナルでも自身でコマンドを実行してみてください。

1. 実行している実行ファイルのパスを確認してください。絶対パスを使うか、[実行ファイルをシステム PATH に追加する](#adding-directories-to-the-system-path)ことを強く推奨します。
2. コマンドを実行するために必要なツールや依存関係がインストールされていることを確認してください。インストールしていない場合は、Setup Agent または VS Code Terminal を使ってインストールしてから、再度検証を実行してください。
3. コマンドが正しいディレクトリで実行されていることを確認してください。特定のディレクトリで実行する必要がある場合は、次のように `cd` を使えます: `cd <directory> && <command>`。
4. **正しい言語バージョン** (例: 正しいバージョンの Node、Python など) を使用していることを確認してください。
5. 正しい環境を自動的に使うようにするために、**`~/.bashrc` を変更する**ことも検討してください。
   異なるリポジトリごとに[正しい言語バージョンを使う方法](#configuring-environments-automatically-for-different-repositories)の例については、このガイドを参照してください。

<div id="my-commands-work-when-i-run-them-manually">
  ### 手動でコマンドを実行すると動作する場合
</div>

新しい bash シェルが必要なツールにアクセスできるように、`bashrc` が正しく設定されていることを確認してください。新しいターミナルを開き、そこでコマンドを実行してみてください。もし動作しない場合は、セットアップ用のコマンドを実行したり、システムの `PATH` を編集したりするなどして、`bashrc` を修正する必要がある可能性が高いです。
[異なるリポジトリごとに適切な言語バージョンを使う方法](#configuring-environments-automatically-for-different-repositories)の例については、ガイドを参照してください。

コマンドは 5 分経過するとタイムアウトします。検証前に VS Code のターミナルであらかじめコマンドを実行しておくことで、結果をキャッシュさせることができます。Devin に 5 分以上かかるコマンドを与えることは推奨しません。その場合、Devin の処理が大幅に遅くなります。

<div id="devin-cant-run-my-linttest-commands-in-sessions">
  ### Devin がセッション内で lint/test コマンドを実行できない
</div>

Devin のターミナル出力を確認し、エラーが出ていないかチェックしてください。コマンドが正しく動作するかどうか確かめるために、新しいターミナルを開いて自分でコマンドを実行してみることもできます。必要に応じて、リポジトリのセットアップ手順に戻り、Devin の環境設定を見直して調整してください。

<div id="the-git-pull-step-isnt-working">
  ### `git pull` ステップが動作しない
</div>

Devin がリポジトリおよびそのサブモジュールにアクセスできることを再度確認してください。権限に関する問題が発生する場合は、[GitHub 連携のドキュメント](/ja/integrations/gh) も参照してください。

<div id="all-done">
  ## これで完了です！
</div>

お疲れさまでした！これでDevinのオンボーディングが完了し、一緒に開発を始められます。[最初のセッション](/ja/get-started/first-run)を開始しましょう。Devinは、次のように使うと最も力を発揮します:

* Devinに進捗の確認方法を伝える
* 大きなタスクを細かく分解する
* 事前に要件をできるだけ詳しく共有する
* 複数のセッションを並行して実行する

サポートが必要な場合は、遠慮なく [support@cognition.ai](mailto:support@cognition.ai) までメールでご連絡ください。
