デベロッパーアドボケイトの開発環境
デベロッパーアドボケイトは、GitLab Duo Agent Platform を使用した AI ネイティブワークフローを含む、さまざまなタイプのプラットフォーム、エディタ、IDE で作業します。このページでは、デベロッパーアドボカシー関連のセットアップを最適化するためのベストプラクティスと役立つヒントをまとめます。
リソース
GitLab Duo Agent Platform のドキュメントから始めて、MCP、カスタムルールなどを使った IDE、CLI、拡張性とカスタマイズについてお読みください。
アーキテクチャに関する知見については、アーキテクチャ設計ドキュメントを確認してください。
GitLab Duo Agent Platform ローンチサポート Issue - DevRel(内部向け)には、製品/エンジニアリングのアップデート、GTM とコンテンツ戦略、ユースケース開発がまとめられています。
IDE
デベロッパーアドボケイトは、プロジェクトやコンテンツ要件に応じてさまざまな IDE を使用できます。IDE の機能とユースケースを理解し、コンテンツリクエストの際にそれらに焦点を当て、さまざまなオーディエンス向けに使用法を多様化することが重要です。
IDE 内の AI と GitLab Duo
GitLab Duo と GitLab Duo Agent Platform は、IDE 拡張機能/プラグインとして統合されています。
Visual Studio Code
Visual Studio Code(略称: VS Code)は、マーケットプレイスを通じてさまざまなプログラミング言語と開発ツール統合をサポートしています。
GitLab Duo は、VS Code マーケットプレイスの GitLab Workflow 拡張機能を通じて統合できます。
注
初期セットアップ完了後、開発環境の内部向けガイドを確認してください。

VS Code のヒントとベストプラクティス
- よく使う VS Code のキーボードショートカットを学んで頻繁に練習しましょう。
- コマンドパレット: macOS では
cmd shift p、Windows/Linux ではctrl shift p。 - 設定: macOS では
cmd ,、Windows/Linux ではctrl ,。 - ヒント: GitLab Duo Chat や Claude に助けを求めることもできます。
- コマンドパレット: macOS では
- ターミナルから
code .ショートカットを使ってローカルの Git リポジトリやディレクトリを開きます。これにより、GitLab UI、VS Code、ターミナルの間でコンテキストを切り替える必要があるときに、コードの編集/デバッグのワークフローが簡単になります。 - VS Code でターミナルを開きます(ショートカット: macOS では
cmd j、またはcmd shift pでterminalを検索)。これにより、コードを編集しながらサーバー、コンパイラ、Ansible playbook の実行などのバックグラウンドタスクを開始でき、異なるウィンドウ間のコンテキスト切り替えを避けられます。
推奨される設定と拡張機能
- 編集中の自動保存を有効にします。これにより、コードを書いているときのデータ損失や Git コミットデータの欠落を回避できます。
- UI: 左下隅の歯車アイコンをクリックして設定を開きます(ショートカット: macOS では
cmd ,)。auto saveを検索します。 - VS Code
settings.json:"files.autoSave": "afterDelay"の新しいキー/値を追加します。
- UI: 左下隅の歯車アイコンをクリックして設定を開きます(ショートカット: macOS では
- デフォルトで折り返しを有効にします。これにより、横スクロールなしで長い行を読みやすくなります。
- UI: 左下隅の歯車アイコンをクリックして設定を開きます(ショートカット: macOS では
cmd ,)。word wrapを検索します。 - VS Code
settings.json:"editor.wordWrap": "on"の新しいキー/値を追加します。
- UI: 左下隅の歯車アイコンをクリックして設定を開きます(ショートカット: macOS では
- 定期的に必要な拡張機能をインストールし、信頼できるソースのみを使用します。
- @dnsmichi の dotfiles プロジェクトでメンテナンスされているリストを確認してください
- CLI で
code --install-extensionを使って拡張機能をインストールできます。例:code --install-extension gitlab.gitlab-workflow。
デモ設定: VS Code のプロファイルとテーマ
VS Code のデフォルトプロファイルはダークテーマを使用します。
"workbench.colorTheme": "Default Dark Modern",
ライトテーマは対面イベントのプロジェクターでよりよく機能し、デモ録画にも役立ちます。
"workbench.colorTheme": "Default Light Modern",
異なるテーマやインストールされた拡張機能を管理するため、Default と Light theme for demos など、複数のプロファイルを作成することが推奨されます。
必要なデモ録画設定については、動画ガイドラインハンドブックを確認してください。
Chat を右パネルに移動する
デフォルトでは、Chat パネルは VS Code UI の左側にあります。これは、同じく左側にあるエクスプローラーのファイルツリーや Git コミットと干渉する場合があります。
Chat を右サイドバーに移動するには:
- 右上隅のアイコンでセカンダリサイドバーを開きます。
- Chat アイコン(例: Duo Chat)をドラッグして右サイドバーにドロップします。
- 複数の chat パネルを並行して使用できます。
@dnsmichi はこのセットアップをデフォルトで使用しています。
GitLab Duo Code Suggestions で追加の言語を有効にする
2 つの方法から選択します:
- UI: 左下隅の歯車アイコンをクリックして設定を開きます。
gitlab.duoCodeSuggestionsを検索します。 - VS Code
settings.json: macOS でcmd shift pを押してコマンドパレットを開き、settings.jsonを検索します。"gitlab.duoCodeSuggestions.additionalLanguages"のエントリを、文字列の配列を値として追加/変更します。
- UI: 左下隅の歯車アイコンをクリックして設定を開きます。
README.mdファイルを編集する際にもっと多くのコード提案を見たい場合は、配列にmarkdownを追加します。- @dnsmichi は、
settings.jsonの以下の言語の品質と関連性に自信を持っています(開発テストサイクル: 1 年以上):
{ "gitlab.duoCodeSuggestions.additionalLanguages": [ "powershell", "yaml", "ansible", "perl", "dockerfile", "markdown", "json" ], }- @dnsmichi は、
Code Suggestions が適切なコンテキストを持つことは重要です: 現在のタスクに関連するタブをもっと多く開いてください。それらはコンテキストとして使用されます。
完全な VS Code settings.json の例は @dnsmichi の dotfiles プロジェクトにあります。
VS Code 拡張機能と GitLab Duo Agent Platform をデバッグする
ユースケースの例: GitLab Duo Agentic Chat は MCP 統合を提供しており、MCP サーバーが起動され追加の AI コンテキストを消費していることを検証したいとします。
知っておくべきこと: GitLab Language Server は、GitLab の IDE 拡張機能全体でバックエンドを動かし、GitLab Duo Agentic Chat の MCP 統合を処理します。
- VS Code の
Outputビューを使って拡張機能をデバッグできます。 - デバッグの手順:
cmd shift p(macOS)でコマンドパレットを開き、View: toggle Outputを検索します。Outputビューのドロップダウン(Filterの隣)でGitLab Language Serverを選択します。- このビューは、拡張機能のログをターミナルにストリーミングします。GitLab Duo で UI アクションをトリガーし、クライアントが正しいデータを送信しているかを観察します。
Filterフォームを使って出力を検索/フィルタリングできます。例:mcpで MCP 統合に関連するエントリを分離します。- オプション: ログの詳細度を
debugに上げます:- 左下隅の歯車アイコンをクリックして設定を開きます(ショートカット: macOS では
cmd ,)。設定ツリーでGitLabまたはgitlabを検索します。 GitLab: Debugチェックボックスにチェックを入れ、VS Code を再起動します。
- 左下隅の歯車アイコンをクリックして設定を開きます(ショートカット: macOS では
GitLab Duo Agentic Chat は、コマンドを実行するためにターミナルも生成します。実行がブロックされたり無限に実行されたりする場合は、Oh-My-ZSH や Powerlevel10k などのターミナル統合を無効にするかどうかを調査してください。
JetBrains IDE
デベロッパーアドボケイトは、さまざまな目的とユースケースで JetBrains IDE にアクセスできます:
- IntelliJ IDEA Ultimate(Java、Kotlin、Scala)
- PyCharm(Python、Django)
- GoLand(Go)
- DataGrip(SQL、データベース)
- RubyMine(Ruby、Rails)
- PhpStorm(PHP)
- WebStorm(JavaScript、TypeScript、HTML/CSS)
- Rider(C#、.NET)
- CLion(C、C++)
- Android Studio(Android 開発)
IntelliJ IDEA は他の言語のプラグインもサポートしており、利用可能かどうかはサブスクリプションのティア(Ultimate vs Community)によって異なります。
GitLab Duo は、JetBrains マーケットプレイスの GitLab Duo プラグインを使って統合できます。
注
初期セットアップ完了後、開発環境の内部向けガイドを確認してください。

JetBrains IDE のヒントとベストプラクティス
- 利用可能な IDE ライセンスを確認し、必要に応じて追加の恒久的な IDE ライセンスのアクセスリクエストを作成します。
- セットアップと設定のガイドを読み、JetBrains Toolbox をインストールして個々の IDE とそのアップデートを管理します。
- オプションのヒント: デフォルトでは、ツールボックスは古いインストール済みバージョンを保持します。この動作がストレージ消費の問題を引き起こす場合は、
Tools > Keep previous versions to enable instant rollbackの設定を無効にします。 - JetBrains IDE は、既存のセットアップから設定を移行/インポートできます。これは、GitLab Duo プラグインを一度インストール/設定し、それを別の JetBrains IDE にインポートするのに便利です。
- オプションのヒント: デフォルトでは、ツールボックスは古いインストール済みバージョンを保持します。この動作がストレージ消費の問題を引き起こす場合は、
- GitLab Duo Agentic Chat は、コマンドを実行するためにターミナルも生成します。実行がブロックされたり無限に実行されたりする場合は、Oh-My-ZSH や Powerlevel10k などのターミナル統合を無効にするかどうかを調査してください。
デモ設定: JetBrains IDE の外観
JetBrains IDE のデフォルトプロファイルはダークテーマを使用します。ライトテーマに切り替えるには、Settings > Appearance & Behavior > Appearance に移動して Light with Light Header を選択します。
Zoom ドロップダウンは、講演のライブデモで詳細を見やすくするため 125% に変更できます。
必要なデモ録画設定については、動画ガイドラインハンドブックを確認してください。
MS Visual Studio
注: Windows と Visual Studio ライセンスへのアクセスが必要で、追加のセキュリティレビューが必要です。
ステータス: 調査中。未対応のタスクはこの内部 Issue で追跡されています。
GitLab Duo は、Visual Studio マーケットプレイスの GitLab 拡張機能を使って統合できます。
注
初期セットアップ完了後、開発環境の内部向けガイドを確認してください。
Eclipse
GitLab Duo は、Eclipse マーケットプレイスの GitLab 拡張機能を使って統合できます。
neovim
ヒント: kickstart.nvim のフォークを使って新しい neovim 設定を開始し、neovim 体験をブートストラップして最適化します。
GitLab Duo は、neovim プラグインを使って統合できます。
CLI
GitLab Duo CLI
GitLab Duo CLI は、ターミナルで GitLab Duo Agent Platform へのアクセスを提供します。
要件:
- NodeJS 22+ をインストールします。例えば mise を使用します
apiスコープを持つパーソナルアクセストークンを作成します。- CLI をインストールします。
- CLI を実行して設定ダイアログを開始します。
mise install node@22
npm i -g @gitlab/duo-cli
duo
使用例:
Which tools are available?
What is this repository about
Which issues need my attention
Help me implement issue 15
The pipelines in MR 23 fail. Please fix them.
CLI は GitLab LSP を使って AIGW と DAP サービスと通信するため、CLI は gitlab-lsp 内で開発されています。
機能とロードマップのアップデートについては 製品エピック をフォローし、Duo CLI Feedback & Dogfooding エピック にフィードバックを追加してください。
Claude Code
Claude Code へのアクセスを得ることは、コンテンツ作成に役立ちます。例えば、このブログチュートリアル Claude Code and GitLab: Three workflows that ship があります。
- AI ツールの要件を確認し、Anthropic API キーのアクセスリクエストを作成します。例(内部向け)
- Claude Console で API キーを作成します
- Claude Code をインストールします
- Console API キーで Claude Code に認証します。
claude auth login
プロジェクトに移動し、Claude Code に What is this project about? とプロンプトを送ります。
ヒント: より良いコンテキストのために GitLab MCP Server を Claude Code に追加します。
Codex
Codex へのアクセスを得ることは、コンテンツ作成に役立ちます。例えば、このブログチュートリアル Codex and GitLab: From code fix to production があります。
- AI ツールの要件を確認し、OpenAI キーのアクセスリクエストを作成します。例(内部向け)。
- OpenAI プラットフォームに移動します。
GitLaborganization とDefault projectを選択し、API キーを生成します - Homebrew で Codex CLI をインストールします。
--with-api-keyパラメータでログインし、STDIN から API キーを読み込みます。
# Set your key in your shell environment (e.g. ~/.zshrc or a .env manager in 1Password)
export OPENAI_API_KEY="sk-..."
# Log in — key is read from the environment, not the command line
printenv OPENAI_API_KEY | codex login --with-api-key
# Verify
codex login status
プロジェクトに移動し、Codex に What is this project about? とプロンプトを送ります。
ヒント: より良いコンテキストのために GitLab MCP Server を Codex に追加します。
拡張性とカスタマイズ
Skills
Agent Skills はエージェントやユーザーによってオンデマンドで読み込まれ、デフォルトでコンテキストウィンドウを小さく保ちます。
プロジェクトの例:
AGENTS.md
AGENTS.md 標準はカスタムルールに似ています。ルートおよびサブディレクトリレベルの AGENTS.md ファイルをサポートし、特定のプロジェクトやディレクトリをどのように操作・使用するかをエージェント AI に案内・指示します。
環境の例:
カスタムルール
すべての新規または既存のデベロッパーアドボカシープロジェクトにデフォルトでカスタムルールを追加することを検討してください。
- カスタムルール
- Code Review Flow のカスタムレビュー指示。
- AI Catalog のカスタムエージェントのシステムプロンプト
環境の例:
MCP クライアント
MCP クライアントを IDE に統合する方法については、GitLab MCP Clients のドキュメントを参照してください。
内部の調査 Issue: DAP MCP use case testing - DevRel
MCP Server
AI ツールと IDE でのセットアップと設定については、GitLab MCP Server のドキュメントを参照してください。
Knowledge Graph / Orbit
セットアップと統合の手順については、Orbit のドキュメントに従ってください。
Orbit GA 製品エピックは、開発と機能ロードマップを追跡しています。
Duo Agent Platform 用のセルフホストモデル
サポートされているセルフホストモデルへのアクセスには、エンジニアリングテストインフラストラクチャへのアクセスが必要です。DRI、オプション、アイデアについては、FY26 のセルフホストモデル調査(内部向け)を確認してください。
GitLab Duo Agent Platform のユースケース
デベロッパーアドボケイトのユースケースプロンプト
これらのプロンプトを IDE の GitLab Duo Agentic Chat や CLI で使用します:
デモ環境の管理
- “Create a new demo project setup guide for
technology/feature” - “Document the prerequisites for this demo environment”
- “Generate a troubleshooting guide for common demo setup issues”
- “Create a quick start script for setting up
demo environment”
デモリポジトリ&コード
- “Create a sample application demonstrating
GitLab feature” - “Add comprehensive README with setup instructions for this demo”
- “Generate example CI/CD pipeline for
language/frameworkdemo” - “Create a demo showcasing
featureintegration withtechnology”
コンテンツ作成サポート
- “Extract code snippets from this demo for a blog post”
- “Generate speaker notes for demoing this feature”
- “Create a step-by-step tutorial from this demo repository”
- “Suggest improvements to make this demo more engaging”
環境ドキュメント
- “Document the tools and versions used in this environment”
- “Create a comparison table of different setup approaches”
- “Generate installation instructions for
OS/platform” - “Document environment variables and configuration needed”
デモのメンテナンス
- “Check if this demo uses deprecated GitLab features”
- “Update this demo to use the latest
frameworkversion” - “Verify all demo links and references are still valid”
- “Test if this demo still works with current GitLab version”
ワークショップ&プレゼンテーションの準備
- “Create a workshop outline based on this demo”
- “Generate talking points for presenting this feature”
- “Build a hands-on exercise from this example”
- “Create a cheat sheet for workshop participants”
統合の例
- “Show how to integrate
toolwith GitLab in this demo” - “Create examples for all
featureconfiguration options” - “Generate sample webhook payloads for testing”
- “Document API usage examples for this integration”
ドキュメント&コンテンツ管理
- “Review this page for broken links and outdated information”
- “Check if this documentation follows the handbook style guide”
- “Find all pages that mention
topicand summarize them” - “Suggest improvements to make this page more accessible”
リポジトリのナビゲーションと理解
- “Show me the most recently updated pages in
directory” - “What are the main sections of this handbook?”
- “Find documentation about [specific process or policy]”
- “Who are the main contributors to
directory/file?”
メンテナンス&品質
- “Find pages that haven’t been updated in over 6 months”
- “Check for inconsistent formatting across similar pages”
- “Identify duplicate or overlapping content”
- “Review recent merge requests for this section”
ワークフローの自動化
- “Create a new handbook page for
topicfollowing the template” - “Update all references to [old term] with [new term]”
- “Generate a changelog for recent updates to
section” - “Create an issue for outdated content in
directory”
コラボレーション
- “Summarize recent discussions on
topicfrom issues and MRs” - “Who should I ask about [specific handbook section]?”
- “Show me open merge requests that need review”
- “Find related work items for this documentation update”
CI/CD 固有
- “Convert this YAML anchor to use extends instead”
- “Add proper rules to this CI job”
- “Optimize the pipeline configuration for faster builds”
開発
言語ランタイムを管理する mise
mise は、さまざまな言語ランタイムとツールの管理を支援する多言語対応のバージョンマネージャーです。GitLab Development Kit (GDK) と GitLab ハンドブックで、Node.js、Ruby、Go、その他の依存関係を管理するために使用されています。
デベロッパーアドボケイトは mise を以下の用途に使用できます:
複数の言語バージョンを管理する: さまざまなプロジェクトやデモに必要な Node.js、Python、Ruby、Go などの異なるバージョンを簡単に切り替えます。
mise use node@22 mise use node@24一貫した環境を確保する: プロジェクト固有のツールバージョンを
.mise.tomlまたは.tool-versionsファイルで定義し、すべてのチームメンバー(または異なるプロジェクト)が同じ環境を使用するようにします。# .mise.toml example [tools] node = "25" python = "3.14" go = "1.25"ツールのインストールを簡素化する:
npm、yarn、pip、goなどのツールを、システム全体への干渉なしにインストール・管理します。mise install node@25 mise install [email protected]IDE と統合する: シェル環境を設定することで、VS Code や JetBrains IDE などの IDE が
miseで管理される正しいツールバージョンを取得するようにします。
mise のヒントとベストプラクティス
miseをインストールする: 公式インストールガイドに従います。シェルを設定する: シェル設定ファイル(例:
.zshrc、.bashrc)にeval "$(mise activate)"を追加します。.mise.tomlまたは.tool-versionsを使用する: プロジェクト固有のバージョンについては、プロジェクトのルートにこれらのファイルのいずれかを作成します。miseは、ディレクトリに移動したときに指定されたバージョンを自動的に検出して有効化します。グローバルバージョン:
mise global <tool>@<version>を使ってツールのグローバルデフォルトバージョンを設定します。mise global node@22現在のバージョンを確認する:
mise currentを使って、現在のディレクトリでどのツールバージョンがアクティブかを確認します。インストール済みバージョンを一覧表示する:
mise lsを使って、ツールのすべてのインストール済みバージョンを確認します。ツールを更新する:
mise upgradeでツールを最新の状態に保ちます。
より高度な使用法と設定については、mise のドキュメントを参照してください。
GitLab 開発における mise 環境
リモート開発ワークスペース
Workspaces は、Developer Relations Cloud Resources 上で動作するクラウド開発環境を提供します。
ステータス: 非アクティブ。現在、インフラストラクチャのメンテナーはいません。以下のドキュメントは、将来の歴史的参照用に存在しています。
remote-development サブグループには Kubernetes 用のエージェントがインストールされており、agent-kubernetes-gke プロジェクトに文書化されています。これには、エージェントが応答しなくなりワークスペースが作成されない場合のトラブルシューティングが含まれます。
リソース:
- Kubernetes クラスター
da-remote-development-1が GKE で実行されている必要があります。現在のリソース: 3 ノード。合計 6 vCPU、12 GB メモリ。 - ドメイン
remote-dev.devは Google DNS サービスを通じて購入され、Kubernetes クラスターのパブリック IP を指しています。 - TLS 証明書は Let’s Encrypt で手動で生成されており、ドキュメントの手順に従って四半期ごと(2023-08-15)に更新する必要があります。
学習リソース
チームメンバーの例
- @dnsmichi の dotfiles プロジェクト。IDE や開発ツールを含む作業環境のセットアップを文書化しています。
開発環境を取り上げた講演とデモ
デベロッパーアドボカシーコンテンツライブラリと以下のリソースを確認してください:
- Learning AI 101: Practical Foundations for Developers - 2025-06、Open Source @ Siemens
- Efficient DevSecOps workflows with a little help from AI - 2024-12、GitLab DACH Roadshow FY25
c955a93f)