デベロッパーアドボケイトの開発環境
デベロッパーアドボケイトは、GitLab Duo Agent Platform を使用した AI ネイティブワークフローを含む、さまざまなタイプのプラットフォーム、エディタ、IDE で作業します。このページでは、デベロッパーアドボカシー関連のセットアップを最適化するためのベストプラクティスと役立つヒントをまとめます。
リソース
GitLab Duo Agent Platform ドキュメント から始めて、IDE、CLI、MCP やカスタムルールを使った 拡張性とカスタマイズ を読み進めてください。
アーキテクチャに関するインサイトは、アーキテクチャ設計ドキュメント を参照してください。
GitLab Duo Agent Platform launch support 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 拡張機能 を通じて統合できます。
注
初期セットアップが完了したら、Dev Environments の社内ガイド をレビューしてください。

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 を右サイドバーに移動するには:
- 右上隅のアイコンで Secondary Side bar を開きます。
- Chat アイコン(たとえば、Duo 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ビューを使用して拡張機能をデバッグできます。 - デバッグの手順:
- macOS で
cmd shift pでコマンドパレットを開き、View: toggle Outputを検索します。 Outputビューのドロップダウン(Filterの隣)でGitLab Language Serverを選択します。- このビューは、ターミナルに拡張機能のログをストリーミングします。GitLab Duo で UI アクションをトリガーし、クライアントが正しいデータを送信しているかを観察します。
- macOS で
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 プラグイン を使用して統合できます。
注
初期セットアップが完了したら、Dev Environments の社内ガイド をレビューしてください。

JetBrains IDE のヒントとベストプラクティス
- 利用可能な IDE ライセンス をレビューし、最終的に追加の永続的な IDE ライセンスのアクセスリクエストを作成します。
- セットアップと設定ガイド を読み、個別の IDE とそのアップデートを管理するために JetBrains Toolbox をインストールしてください。
- オプションのヒント: デフォルトでは、ツールボックスは古いインストール済みバージョンを保持します。この動作がストレージ消費の問題を引き起こす場合は、
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 ライセンスへのアクセスが必要で、追加のセキュリティレビューも必要です。
ステータス: リサーチ中。Todo は この社内 Issue で追跡されています。
GitLab Duo は Visual Studio マーケットプレイスの GitLab 拡張機能 を使用して統合できます。
注
初期セットアップが完了したら、Dev Environments の社内ガイド をレビューしてください。
Eclipse
GitLab Duo は Eclipse マーケットプレイスの GitLab 拡張機能 を使用して統合できます。
neovim
ヒント: kickstart.nvim のフォークを使用して新しい neovim 設定を開始し、neovim 体験をブートストラップ・最適化してください。
GitLab Duo は neovim プラグイン を使用して統合できます。
CLI
GitLab Duo CLI
GitLab Duo CLI は、ターミナルで GitLab Duo Agent Platform へのアクセスを提供します。
要件:
- mise を使う などの方法で NodeJS 22+ をインストールする
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 内で開発されています。
機能とロードマップのアップデートについては 製品 epic をフォローし、フィードバックは Duo CLI Feedback & Dogfooding epic に追加してください。
拡張性とカスタマイズ
カスタムルール
新しい・既存のすべてのデベロッパーアドボカシープロジェクトに、デフォルトでカスタムルールを追加することを検討してください。
- Agentic Chat のカスタムルール。
- Code Review Agent のカスタムレビュー指示。
- AI カタログのカスタムエージェント のシステムプロンプト。
プロジェクト例:
MCP クライアント
MCP クライアントを IDE に統合する方法については、GitLab MCP Clients ドキュメント を参照してください。
社内リサーチ Issue: DAP MCP use case testing - DevRel
MCP サーバー
AI ツールと IDE でのセットアップと設定については、GitLab MCP Server ドキュメント を参照してください。
Knowledge Graph
セットアップと統合の手順については、Knowledge Graph ドキュメント に従ってください。
GitLab Knowledge Graph First Iteration 製品 epic は、開発と機能ロードマップを追跡しています。
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 は、さまざまな言語ランタイムとツールの管理に役立つ多言語バージョンマネージャーです。Node.js、Ruby、Go、その他の依存関係を管理するために、GitLab Development Kit (GDK) と GitLab handbook で使用されています。
デベロッパーアドボケイトは 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 sub group には 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)。
学習リソース
チームメンバーの例
- IDE と開発ツールを含む作業環境のセットアップをドキュメント化した @dnsmichi の dotfiles プロジェクト。
Dev Environments を強調する講演とデモ
Developer Advocacy コンテンツライブラリ と次のリソースをレビューしてください:
- 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
