Developer Advocates の開発環境
Developer Advocates は、GitLab Duo Agent Platform を使用した AI ネイティブワークフローを含む、さまざまなタイプのプラットフォーム、エディタ、IDE で作業します。このページでは、Developer Advocacy 関連のセットアップを最適化するためのベストプラクティスと役立つヒントをまとめます。
リソース
GitLab Duo Agent Platform のドキュメントから始めて、MCP、カスタムルールなどを使った IDE、CLI、拡張性とカスタマイズについてお読みください。
アーキテクチャに関する知見については、アーキテクチャ設計ドキュメントを確認してください。
GitLab Duo Agent Platform ローンチサポート Issue - DevRel(内部向け)には、製品/エンジニアリングのアップデート、GTM とコンテンツ戦略、ユースケース開発がまとめられています。
IDE
Developer Advocates は、プロジェクトやコンテンツ要件に応じてさまざまな 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 プロジェクトで保守されている拡張機能一覧を確認します。
code --install-extensionを使って CLI から拡張機能をインストールできます。例:code --install-extension gitlab.gitlab-workflow。- vscode-extensions-install.sh スクリプトは、一覧にあるすべての拡張機能をインストールします。
--discoverを使うと手動でインストールした拡張機能を表示し、--update-inventoryを使うとそれらを基に一覧ファイルを更新できます。
デモ設定: VS Code のプロファイルとテーマ
ライトテーマは対面イベントのプロジェクターでよりよく機能し、デモ録画にも役立ちます。
VS Code を macOS の外観設定に従わせ、デモ用のライトモードとダークモードの切り替えを 1 か所で行えるようにします。
{
"window.autoDetectColorScheme": true,
"workbench.preferredDarkColorTheme": "Dark Modern",
"workbench.preferredLightColorTheme": "Light Modern"
}
詳細は、カラーテーマの自動検出に関する VS Code ドキュメントを確認してください。@dnsmichi の dotfiles プロジェクトは Ghostty、Starship、neovim にも同じ方法を使用しています。macOS の外観を切り替えると、すべてのツールが一斉に切り替わります。
別の方法として、Default や Light theme for demos などの複数のプロファイルを作成し、異なるテーマやインストール済みの拡張機能を管理できます。
必要なデモ録画設定については、動画ガイドラインハンドブックを確認してください。
Chat を右パネルに移動する
デフォルトでは、Chat パネルは VS Code UI の左側にあります。これは、同じく左側にあるエクスプローラーのファイルツリーや Git コミットと干渉する場合があります。
Chat を右サイドバーに移動するには:
- 右上隅のアイコンでセカンダリサイドバーを開きます。
- Chat アイコン(例: Duo Chat)をドラッグして右サイドバーにドロップします。
- 複数のチャットパネルを並行して使用できます。
@dnsmichi はこのセットアップをデフォルトで使用しています。
GitLab Duo Code Suggestions
すべての言語に対応する Code Suggestions のサポートが、各 IDE に順次展開されています。現在の状況は、Duo Agent Platform 全体で「すべて」のプログラミング言語をサポートするを確認してください。VS Code では、gitlab.duoCodeSuggestions.additionalLanguages の設定は不要になりました。
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 では
JetBrains IDE
Developer Advocates は、さまざまな目的とユースケースで 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 ライセンスの Access Request を作成します。
- セットアップと設定ガイドを読み、JetBrains Toolbox をインストールして、個々の IDE とその更新を管理します。
- 任意のヒント:デフォルトでは、Toolbox はインストール済みの古いバージョンを保持します。この動作でストレージ消費に問題が生じる場合は、
Tools > Keep previous versions to enable instant rollbackの設定を無効にしてください。 - JetBrains IDEs は、既存のセットアップから設定を移行またはインポートできます。GitLab Duo プラグインを一度インストールして設定し、別の JetBrains IDE にインポートできるため便利です。
- 任意のヒント:デフォルトでは、Toolbox はインストール済みの古いバージョンを保持します。この動作でストレージ消費に問題が生じる場合は、
デモ設定: 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
ヒント:LazyVim で neovim の新しい設定を始めると、適切なデフォルト値で事前設定された環境を利用し、プラグインでカスタマイズできます。実運用の例は、@dnsmichi の dotfiles プロジェクトにあります。
GitLab Duo は、neovim プラグインを使って統合できます。
CLI
GitLab Duo CLI
GitLab Duo CLI は、ターミナルで GitLab Duo Agent Platformへのアクセスを提供します。
インストールと設定は、GitLab Duo CLI ドキュメントに従ってください。
ヒント:たとえば ~/.zshrc に、duo で Duo CLI を起動するシェルエイリアスを追加します。実運用の例は、@dnsmichi の dotfiles プロジェクトにあります。
alias duo='glab duo cli'
使用例:
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 と GitLab:成果につながる 3 つのワークフローがあります。
- AI ツールの要件を確認します。Claude Code には GitLab の Claude Enterprise サブスクリプションへのアクセスが必要です。Claude のハンドブックページを参照してください。
- Claude Code をインストールします。
claudeを実行し、ログイン方法としてClaude account with subscriptionを選択します。ブラウザのログインフローに従い、チームメンバーのメールアドレスを使って SSO でログインします。
claude
プロジェクトに移動し、Claude Code に What is this project about? とプロンプトを送ります。
ヒント: より良いコンテキストのために GitLab MCP Server を Claude Code に追加します。
Codex
Codex へのアクセスを得ることは、コンテンツ作成に役立ちます。例えば、このブログチュートリアル Codex と GitLab:コード修正から本番環境までがあります。
- AI ツールの要件を確認し、OpenAI キーのアクセスリクエストを作成します。例(内部向け)。
- OpenAI プラットフォームに移動します。
GitLab組織と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 に追加します。
拡張性とカスタマイズ
スキル
Agent Skillsはエージェントやユーザーによってオンデマンドで読み込まれ、デフォルトでコンテキストウィンドウを小さく保ちます。
プロジェクトの例:
ヒント:スキルを 1 つの Git リポジトリで管理し、シンボリックリンクを使って AI ツール間で共有します。各ツールは専用のディレクトリからスキルを読み込みます。
| AI ツール | スキルのディレクトリ |
|---|---|
| GitLab Duo Agent Platform | ~/.gitlab/duo/skills/ |
| Claude Code | ~/.claude/skills/ |
| Codex および Agent Skills 標準に従うその他のツール | ~/.agents/skills/ |
mkdir -p ~/.gitlab/duo/skills ~/.claude/skills ~/.agents/skills
ln -sfn ~/dotfiles/skills/tone-of-voice ~/.gitlab/duo/skills/tone-of-voice
ln -sfn ~/dotfiles/skills/tone-of-voice ~/.claude/skills/tone-of-voice
ln -sfn ~/dotfiles/skills/tone-of-voice ~/.agents/skills/tone-of-voice
@dnsmichi の dotfiles プロジェクトの setup.sh スクリプトは、セットアップ時にすべてのスキルをリンクする作業を自動化します。
AGENTS.md
AGENTS.md 標準はカスタムルールに似ています。ルートおよびサブディレクトリレベルの AGENTS.md ファイルをサポートし、特定のプロジェクトやディレクトリをどのように操作・使用するかをエージェント型 AI に案内・指示します。
環境の例:
カスタムルール
すべての新規または既存の Developer Advocacy プロジェクトにデフォルトでカスタムルールを追加することを検討してください。
- カスタムルール
- Code Review Flowのカスタムレビュー指示。
- AI Catalog のカスタムエージェントのシステムプロンプト
環境の例:
MCP クライアント
MCP クライアントを IDE に統合する方法については、GitLab MCP Clients のドキュメントを参照してください。
内部の調査 Issue: DAP MCP のユースケーステスト - DevRel
MCP Server
AI ツールと IDE でのセットアップと設定については、GitLab MCP Server のドキュメントを参照してください。
Knowledge Graph / Orbit
セットアップと統合の手順については、Orbit のドキュメントに従ってください。
Orbit GA 製品エピックは、開発と機能ロードマップを追跡しています。
Duo Agent Platform 用のセルフホストモデル
サポートされているセルフホストモデルへのアクセスには、エンジニアリングテストインフラストラクチャへのアクセスが必要です。DRI、オプション、アイデアについては、FY26 のセルフホストモデル調査(内部向け)を確認してください。
GitLab Duo Agent Platform のユースケース
Developer Advocates のユースケースプロンプト
これらのプロンプトを IDE の GitLab Duo Agentic Chatや CLIで使用します:
デモ環境の管理
- “
technology/feature用の新しいデモプロジェクトのセットアップガイドを作成してください” - “このデモ環境の前提条件を文書化してください”
- “よくあるデモのセットアップの問題について、トラブルシューティングガイドを生成してください”
- “
demo environmentをセットアップするクイックスタートスクリプトを作成してください”
デモリポジトリ&コード
- “
GitLab featureを実演するサンプルアプリケーションを作成してください” - “このデモのセットアップ手順を含む包括的な README を追加してください”
- “
language/frameworkのデモ用の CI/CD パイプラインの例を生成してください” - “
featureとtechnologyの統合を紹介するデモを作成してください”
コンテンツ作成サポート
- “ブログ記事用にこのデモからコードスニペットを抽出してください”
- “この機能をデモするためのスピーカーノートを生成してください”
- “このデモリポジトリからステップごとのチュートリアルを作成してください”
- “このデモをより魅力的にするための改善案を提案してください”
環境ドキュメント
- “この環境で使用しているツールとバージョンを文書化してください”
- “異なるセットアップ方法の比較表を作成してください”
- “
OS/platform用のインストール手順を生成してください” - “必要な環境変数と設定を文書化してください”
デモのメンテナンス
- “このデモが非推奨の GitLab 機能を使用していないか確認してください”
- “このデモを更新し、最新の
frameworkバージョンを使用するようにしてください” - “デモのすべてのリンクと参照が引き続き有効か検証してください”
- “このデモが現在の GitLab バージョンで引き続き動作するかテストしてください”
ワークショップ&プレゼンテーションの準備
- “このデモに基づいたワークショップの構成案を作成してください”
- “この機能を紹介する際の要点を生成してください”
- “この例からハンズオン演習を作成してください”
- “ワークショップ参加者向けのチートシートを作成してください”
統合の例
- “このデモで
toolを GitLab と統合する方法を示してください” - “すべての
feature設定オプションの例を作成してください” - “テスト用のサンプル webhook ペイロードを生成してください”
- “この統合の API の使用例を文書化してください”
ドキュメント&コンテンツ管理
- “このページにリンク切れや古い情報がないかレビューしてください”
- “このドキュメントがハンドブックのスタイルガイドに従っているか確認してください”
- “
topicに言及しているすべてのページを見つけ、要約してください” - “このページのアクセシビリティを改善するための提案をしてください”
リポジトリのナビゲーションと理解
- “
directoryで最近更新されたページを表示してください” - “このハンドブックの主なセクションは何ですか?”
- “[特定のプロセスまたはポリシー] に関するドキュメントを探してください”
- “
directory/fileの主なコントリビューターは誰ですか?”
メンテナンス&品質
- “6 か月以上更新されていないページを探してください”
- “類似のページ間で書式が不統一になっていないか確認してください”
- “重複するコンテンツや内容が重なるコンテンツを特定してください”
- “このセクションの最近のマージリクエストをレビューしてください”
ワークフローの自動化
- “テンプレートに従って
topicの新しいハンドブックページを作成してください” - “[古い用語] へのすべての参照を [新しい用語] に更新してください”
- “
sectionの最近の更新について変更履歴を生成してください” - “
directory内の古いコンテンツについて Issue を作成してください”
コラボレーション
- “Issue と MR から
topicに関する最近の議論を要約してください” - “[特定のハンドブックのセクション] については誰に尋ねればよいですか?”
- “レビューが必要なオープンのマージリクエストを表示してください”
- “このドキュメント更新に関連する作業項目を探してください”
CI/CD 固有
- “この YAML アンカーを変換し、代わりに extends を使用するようにしてください”
- “この CI ジョブに適切なルールを追加してください”
- “ビルドを高速化するためにパイプラインの設定を最適化してください”
開発
言語ランタイムを管理する mise
miseは、さまざまな言語ランタイムとツールの管理を支援する多言語対応のバージョンマネージャーです。GitLab Development Kit (GDK)と GitLab ハンドブックで、Node.js、Ruby、Go、その他の依存関係を管理するために使用されています。
Developer Advocates は 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、エージェント型 AI、開発ツールを含む作業環境のセットアップを文書化した実運用の例です。
開発環境を取り上げた講演とデモ
Developer Advocacy コンテンツライブラリと以下のリソースを確認してください:
5d840611)