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

リポジトリを追加する

まず、Devin があなたのリポジトリにアクセスできる状態になっていることを確認してください。リポジトリは、以下で Devin のアクセス権限を設定することで、いつでも追加できます。 次に、Organization 内で Devin’s Machine にアクセスし、Add repository をクリックします。Devin の環境に追加したいリポジトリを選択し、Start をクリックして設定を開始します。
Devin
Devin のマシンは Ubuntu 22.04 (x86_64) 上で動作しています。ターミナルで Ctrl+K を押すと、インストール用コマンドを自動生成できます。

リポジトリと開発環境のセットアップ

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

AI による自動提案

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

リポジトリ設定手順

1

Git Pull

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

シークレットの設定

Devin がリポジトリで作業するために必要なシークレットや環境変数を設定します。詳細は シークレットの設定 を参照してください。
3

依存関係のインストール

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

依存関係の更新

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

Lint のセットアップ

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

テストのセットアップ

テストを実行するために Devin が使用するコマンドです。Lint コマンドと同様に、Devin は変更をコミットする前に、これらのコマンドの出力を確認します。
7

ローカルアプリの実行

コードをローカルで実行する方法を Devin に伝えます。Devin が変更をテストまたはデバッグするためにコードを実行する必要がある場合に便利です。Devin のブラウザーを使用して、Devin に利用させたい Web サイトにログインできます。ログインがタイムアウトする場合は、ログイン情報を secrets に追加してください。
8

補足事項

Devin がこのリポジトリで作業する際の追加の指示を記載します。

セットアップを完了または保存する

セットアップ内容が完了したら、Finish Setup をクリックしてセットアップを保存します。これにより、セットアップ手順で指定したすべてのコマンドが再実行され、Devin の環境が構成されます。 変更作業がまだ完了していない場合は、Finish Later をクリックしてセットアップを保存します。これにより、セットアップは進行中の状態で保存され、後から再開できます。ただし、同時に進行中にできるセットアップは 1 件のみ のため、やむを得ない場合を除いてこのオプションの使用は推奨しません。
コマンド設定に関するヒント:
  • まず VS Code のターミナルでコマンドを実行し、検証前にキャッシュを効かせておきましょう。
  • 特定のディレクトリでコマンドを実行する必要がある場合は、cd を次のように使用してください: cd <directory> && <command>
  • プロジェクトに lint コマンドがない場合は、ビルドコマンドを指定しておくと、Devin がコンパイルエラーをチェックできます。
  • プロジェクトの lint やテスト手順が複雑な場合は、それらの手順はスキップし、「Additional Notes」ステップで Devin に説明してください。
  • コマンドの検証で問題が発生した場合は、トラブルシューティングのセクション を参照してください。

以前に追加したリポジトリの設定

Settings > Devin’s Machine から、既存のリポジトリを編集したり、新しいリポジトリを追加したりできます。 既存のリポジトリを編集するには、ページ右上の Configure をクリックし、Add/Modify/Remove repo を選択して編集したいリポジトリを指定し、Submit をクリックします。
Devin
または、一覧から編集したい既存のリポジトリを選択し、Modify repo setup をクリックして、そのセットアップ手順を編集することもできます。
Devin

マシンのバージョン履歴

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

シークレットの設定

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

以下では、さまざまなユースケースに応じて 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 は Devin のマシンにあらかじめインストールされており、リポジトリごとに環境変数を管理するために利用できます。direnv のフックはすでに ~/.bashrc に設定されています。 特定のリポジトリ用の環境変数を設定するには、そのリポジトリのルートに .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 用の認証情報も設定しておくことをおすすめします。

トラブルシューティング

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

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

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

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

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

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

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

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

これで完了です!

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