メインコンテンツへスキップ
Devin は、各セッションの開始時に仮想マシンのスナップショットを読み込んで動作します。Devin が最大限に力を発揮するには、このスナップショットに、Devin に作業させたいすべてのリポジトリと、あなたのコードベースに取り組むために Devin に必要となりうるツールや依存関係をすべて含めておく必要があります。こうしておけば、Devin は毎回環境をセットアップし直す必要がなくなり、コードを書くことに集中できます。 このガイドでは、あなたのリポジトリの 1 つに Devin をオンボードし、Devin のワークスペース(仮想マシンのスナップショット)を構成する方法を説明します。これは、Devin の初出社日に使うマシンをセットアップする作業だと考えることができます。
Devin のワークスペースを正しくセットアップすると、あなたの コードベースに対する Devin のパフォーマンスが大幅に向上します。タスクを始めるたびに、 あなたのノート PC と記憶の一部が消去されてしまうところを想像してください―― 不完全または誤ったセットアップだと、Devin にはそれと同じことが起きてしまいます!

リポジトリをセットアップする

まず、Devin がリポジトリにアクセスできることを確認してください。リポジトリは、いつでも Settings > Integrations に移動して Devin へのアクセス権を設定することで追加できます。
詳細については GitHub Integration Guide を参照してください。
次に、Settings > Devin’s Workspace に移動し、Devin に作業させたいリポジトリをクリックします。次の画面が表示されるはずです。
Devin
右側に埋め込まれた VS Code を使って、Devin の仮想マシンを編集できます。各リポジトリは ~/repos 配下のそれぞれ専用のディレクトリに配置されます。これらのディレクトリを移動したり削除したりしないでください。現在セットアップしているリポジトリはすでにクローン済みで、マシンにはこれまでにセットアップした他のリポジトリも含まれています。 リポジトリのセットアップが完了すると、仮想マシンのスナップショットが保存されます。今後の Devin のセッションはこのスナップショットから開始され、セットアップ中にインストールしたツールや依存関係も含まれます。 以下の手順と画面上の指示に従ってリポジトリをセットアップしてください。保存後でも、いつでもリポジトリのセットアップ内容を編集できます。以下の動画ガイドを見ながら進めることもできます。
1

git pull

各セッションの開始時に、Devin がリポジトリから最新の変更を取得するために実行すべきコマンドを入力してください。ほとんどの場合は、デフォルトのコマンドをそのまま使用します。Devin がリポジトリ内のサブモジュールにアクセスできることを確認してください。
2

シークレットの設定

Devin が必要とするシークレットを設定します。可能であれば、.env ファイルを Devin のワークスペースに直接追加することをおすすめします。この例では、direnv を使った手順を示しています。パスワードなどのその他のシークレットは、secrets ダッシュボードで追加できます。
3

依存関係のインストール

VS Code を使って、Devin がリポジトリで作業するために必要なツールや依存関係をすべてセットアップします。このステップが完了すると、追加のインストール作業なしで、Devin は必要なコマンド(例: lint、test、build など)をすべて実行できるようになります。Devin のマシンは Ubuntu 22.04(x86_64)上で動作しています。
ターミナルで Ctrl+K(Mac の場合は Cmd+K)を押すと、インストールコマンドを自動生成できます。
推奨事項:
  • コンパイラ、インタプリタ、ビルドツール、パッケージマネージャ、リンター、フォーマッター、テストランナーなどをインストールする
  • パッケージの依存関係をインストールする(例: npm installpip install -r requirements.txt など)
ここで行った変更は、Devin が他のリポジトリで作業するときにも適用される点に注意してください。グローバルなパッケージのインストールには注意し、可能であれば仮想環境の利用を検討してください。
Devin は bash シェルでコマンドを実行します。セットアップを確認するには、VS Code で新しいターミナルを作成して試してみてください。各リポジトリごとにカスタムのインタプリタバージョンを設定したり、環境変数を設定したりするような、より高度なセットアップについては、examples セクションを参照してください。
4

依存関係の管理

各セッションの開始時に、依存関係を最新の状態に保つために Devin が実行すべきコマンドを入力してください。これは、手動で依存関係をインストールしたときに使用したコマンド(例: npm installpip install -r requirements.txt など)と同じであることが一般的です。これは、Git リポジトリに新しい依存関係が追加された場合に、Devin がローカルの依存関係を更新できるようにするためです。
5

Lint のセットアップ

リポジトリに対して Devin に実行させたい lint コマンドを入力します。Devin は変更をコミットする前に、これらのコマンドの出力を確認します。これらのコマンドは 5 分以内に終了する必要があります。そうすれば Devin が長時間待たずに済みます。[Verify] をクリックして、コマンドが正しく動作することを確認してください。ヒント:
  • 必要であれば、まず VS Code のターミナルでコマンドを実行して、キャッシュをあらかじめ作成しておけます。
  • 特定のディレクトリでコマンドを実行する必要がある場合は、cd を次のように使えます: cd <directory> && <lint command>
  • プロジェクトに lint コマンドがない場合は、ビルドコマンドを指定して、Devin にコンパイルエラーをチェックさせることができます。
  • コードのフォーマットスタイルをチェックするコマンドをここに含めることもできます。
  • ワークフローの lint 手順が複雑な場合は、このステップをスキップして、下の Additional Notes ステップで Devin に lint の方法を説明してください。
    コマンドの検証で問題が発生した場合は、トラブルシューティングのセクションを参照してください。
6

テストをセットアップする

リポジトリをテストするために Devin に実行させたいコマンドを入力します。Lint コマンドと同様に、Devin は変更をコミットする前にこれらのコマンドの出力を確認します。これらのコマンドにも 5 分の時間制限があります。[Verify] をクリックして、コマンドが正しく動作しているか確認します。ヒント:
  • 必要であれば、まず VS Code のターミナルでコマンドを実行してキャッシュを温めることができます。
  • コマンドを特定のディレクトリで実行する必要がある場合は、次のように cd を使うことができます: cd <directory> && <test command>
  • プロセスのテスト手順が複雑な場合は、このステップをスキップし、下の Additional Notes ステップで Devin にテスト方法を説明することもできます。
    コマンドの検証で問題が発生した場合は、トラブルシューティングのセクションを確認してください。
7

ローカルアプリのセットアップ

Devin にローカルでコードを実行する方法を知らせてください。これは、変更をテストまたはデバッグするために Devin がコードを実行する必要がある場合に役立ちます。
Devin が実際にコマンドを実行できることを確認するために、VS Code のターミナルで事前に自分でもコマンドを実行してみてください。
8

補足

このリポジトリで作業する際に、Devin が知っておくべきだと思う補足メモや注意事項があれば記載してください。
セットアッププロセスは、可能な限り自動化することをおすすめします。examples セクションで、その具体的な方法の例を確認できます。これにより、今後のセッションで Devin があなたのコードベースで素早く作業を開始できるようになります。
すべての手順が完了したら、[Finish]をクリックします。こちらで、すべてのコマンドが正しく動作しているかを検証し、その後スナップショットを保存します。これには数分かかる場合があります。スナップショットが保存されると、今後の Devin セッションで、あなたが設定した環境を利用できるようになります。
まだ用意していない場合は、リポジトリに .gitignore ファイルを用意することをおすすめします。これにより、Devin がファイルをコミットする際のミスを防ぎやすくなるほか、IDE で作業するときに Devin の変更内容を確認しやすくなります。

以下では、さまざまなユースケースに応じて Devin のワークスペースをセットアップする例をいくつか紹介します。 Devin はすべてのコマンドを bash で実行するため、よくあるパターンとして、~/.bashrc ファイルを編集して Devin のシェル環境を自動的にセットアップする方法があります。ターミナルで devin ~/.bashrc を実行すると、VS Code でこのファイルを編集できます。

異なるリポジトリ向けに環境を自動設定する

2025年4月24日以降に Devin にサインアップしたチームでは、custom_cd セクションがすでに ~/.bashrc に含まれているはずです。その場合は、その セクションを自分たちのリポジトリ用に更新するだけで済みます。
異なるバージョンの Node が必要な 2 つのリポジトリがあり、各リポジトリごとに Devin に自動で適切なバージョンを使わせたいとします。ここでは、Node のバージョンをインストールおよび管理するために nvm を使用します。nvm は Devin のマシンにはすでにインストールされているはずです。 まず、VS Code ターミナルで次のコマンドを実行して、2 つの Node バージョンをインストールします。
nvm install 18
nvm install 20
次に、ターミナルで devin ~/.bashrc を実行して ~/.bashrc を開きます。~/.bashrc の末尾に次の内容を追記します。
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 が実行されます。

環境変数の設定

ここでは、環境変数を管理するために direnv を使う方法を説明します。まず、direnv のインストール手順に従って Devin のマシンにインストールします。2025 年 4 月 24 日以降は、新しく作成されるチームのマシンには direnv が自動的にインストールされているはずです。 最初に、VS Code のターミナルで次のコマンドを実行して direnv をインストールします。
sudo apt install direnv
次に、direnv のフックを設定するため、以下を ~/.bashrc に追記します。ターミナルで devin ~/.bashrc を実行すると、~/.bashrc を開くことができます。
eval "$(direnv hook bash)"
これで、リポジトリのルートに .envrc ファイルを作成できます。内容は次のようになるかもしれません。
export ENV_VAR=1
export ANOTHER_ENV_VAR=2
最後に、ターミナルで direnv allow を実行して、環境変数を読み込みます。 これで、今後このリポジトリで作業する際、Devin は .envrc ファイル内の環境変数を自身の環境に取り込めるようになります。
.envrc が誤ってリポジトリにコミットされないよう、.gitignore ファイルに .envrc を追加することをおすすめします。

システムの PATH へのディレクトリの追加

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

ウェブサイトへのログイン

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

トラブルシューティング

リポジトリのセットアップ中に誤って何かを壊してしまった場合はどうすればよいですか?

リポジトリのセットアップ中に誤って動作に影響する変更を加えてしまった場合は、いつでも以前のマシンイメージに戻すことができます。Settings > Devin’s Workspace に移動し、Version History をクリックすると、過去のマシンイメージの一覧が表示されます。そこで、正しく動作していたことがわかっているマシンイメージをクリックし、Restore version をクリックしてください。

なぜコマンドが検証されないのですか?

あるコマンドの検証時にエラーが発生した場合は、VS Code のターミナルでその出力を確認し、別の新しいターミナルでも自身でコマンドを実行してみてください。
  1. 実行している実行ファイルのパスを確認してください。絶対パスを使うか、実行ファイルをシステム PATH に追加することを強く推奨します。
  2. コマンドを実行するために必要なツールや依存関係がインストールされていることを確認してください。インストールしていない場合は、ターミナルからインストールしてから、再度検証を実行してください。
  3. コマンドが正しいディレクトリで実行されていることを確認してください。特定のディレクトリで実行する必要がある場合は、次のように cd を使えます: cd <directory> && <command>
  4. 正しい言語バージョン(例: 正しいバージョンの Node、Python など)を使用していることを確認してください。
  5. 正しい環境を自動的に使うようにするために、~/.bashrc を変更することも検討してください。 異なるリポジトリごとに正しい言語バージョンを使う方法の例については、このガイドを参照してください。

手動でコマンドを実行すると動作する場合

新しい bash シェルが必要なツールにアクセスできるように、bashrc が正しく設定されていることを確認してください。新しいターミナルを開き、そこでコマンドを実行してみてください。もし動作しない場合は、セットアップ用のコマンドを実行したり、システムの PATH を編集したりするなどして、bashrc を修正する必要がある可能性が高いです。 異なるリポジトリごとに適切な言語バージョンを使う方法の例については、ガイドを参照してください。 コマンドは 5 分経過するとタイムアウトします。検証前に VS Code のターミナルであらかじめコマンドを実行しておくことで、結果をキャッシュさせることができます。Devin に 5 分以上かかるコマンドを与えることは推奨しません。その場合、Devin の処理が大幅に遅くなります。

Homebrew がパスワードを求めてきます

これは Linux 版 Homebrew における不具合です。代わりに CI=1 brew install &lt;package&gt; を実行してください。

Devin がセッション内で lint/test コマンドを実行できない

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

git pull ステップが動作しない

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

編集が必要ですか?

Settings > Devin’s Workspace から、既存のリポジトリをいつでも編集したり、新しいリポジトリを追加できます。 既存のリポジトリを編集するには、Devin’s Workspace で対象のリポジトリをクリックし、「edit」をクリックしてから「Set up in VSCode」をクリックします。
Devin
Settings > Devin’s Workspace タブに移動し、Danger Zone ドロップダウンを開いて 「Reset machine setup」オプションを使用することで、Devin のマシンの状態を完全に リセットすることもできます。この操作を行うと、設定済みのすべてのリポジトリが失われる点に注意してください。

これで完了です!

お疲れさまでした!これでDevinのオンボーディングが完了し、一緒に開発を始められます。最初のセッションを開始しましょう。Devinは、次のように使うと最も力を発揮します:
  • Devinに進捗の確認方法を伝える
  • 大きなタスクを細かく分解する
  • 事前に要件をできるだけ詳しく共有する
  • 複数のセッションを並行して実行する
サポートが必要な場合は、遠慮なく [email protected] までメールでご連絡ください。