AGENTS.mdカスタマイズファイル
- プラン: Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLab Duoは、AIコーディングアシスタントにコンテキストや指示を提供するための新たな標準であるAGENTS.md仕様をサポートしています。
AGENTS.mdファイルを使用して、リポジトリ構造、コーディング規約、スタイルガイドライン、ビルドおよびテストの手順、プロジェクトのコンテキストをドキュメント化します。AGENTS.mdファイルを指定すると、これらの詳細はGitLab Duo Agent Platform、およびその仕様をサポートする他のすべてのAIツールで利用できます。
GitLab Duoで使用するAGENTS.mdファイルは、次を対象に指定します:
- ローカル環境でのGitLab Duo Chat。
- 基本フローおよびカスタムフロー。
GitLab DuoでAGENTS.mdファイルを使用する方法
GitLab Duoの使用方法に応じて、AGENTS.mdファイルを複数のレベルで作成できます:
| レベル | GitLab UIでのAgentic Chat | エディター拡張機能 | GitLab Duo CLI |
|---|---|---|---|
| ユーザーレベル: すべてのプロジェクトとワークスペースに適用 | いいえ | ||
| ワークスペースレベル: 特定のプロジェクトまたはワークスペースにのみ適用 | |||
| サブディレクトリレベル: モノレポ内、または個別のコンポーネントを持つプロジェクト内の特定のプロジェクトにのみ適用 | いいえ |
GitLab Duo Chatは、ユーザーレベルおよびワークスペースレベルのAGENTS.mdファイルに含まれる指示を、すべての会話に適用します。タスクの実行にあたって、追加のAGENTS.mdファイルを含むディレクトリ内のファイルを操作する必要がある場合、そのファイルに記載された指示も適用します。
GitLab DuoでAGENTS.mdを使用する
AGENTS.mdファイルを追加または更新した後に作成された新しい会話およびフローのみが、新しい指示に従います。それ以前に存在していた会話は対象外です。
前提条件
Agent Platformの前提条件を満たしてください。
ローカル環境でGitLab Duo Chatを使用する場合、次のいずれかをインストールして設定します:
- GitLab for VS Code 6.60以降。
- GitLab Duoプラグインfor JetBrains IDE 3.26.0以降。
- GitLab Duo CLI 8.47.0以降。
カスタムルールの場合は、executorから渡される
user_ruleコンテキストにアクセスできるよう、フローの設定ファイルを更新します:components: - name: "my_agent" type: AgentComponent prompt_id: "my_prompt" inputs: - from: "context:inputs.user_rule" as: "agents_dot_md" optional: trueoptional: trueを設定することにより、AGENTS.mdファイルが存在しない場合でもフローは正常に処理されます。エージェントは、追加のコンテキストの有無にかかわらず動作します。
ユーザーレベルのAGENTS.mdファイルを作成する
ユーザーレベルのAGENTS.mdファイルは、すべてのプロジェクトとワークスペースに適用されます。
ホームディレクトリに
AGENTS.mdファイルを作成します:- LinuxまたはmacOSでは、
~/.gitlab/duo/AGENTS.mdにファイルを作成します。 - Windowsでは、
%APPDATA%\GitLab\duo\AGENTS.mdにファイルを作成します。
- LinuxまたはmacOSでは、
ファイルに指示を追加します。例:
# My personal coding preferences - Always explain code changes in simple terms for beginners - Use descriptive variable names - Add comments for complex logic - Prefer functional programming patterns when appropriate# Team coding standards - Follow our company's style guide for all code - Use TypeScript strict mode - Write unit tests for all new functions - Document all public APIs with JSDoc# Monorepo context - This is a monorepo with multiple services - Frontend code is in /apps/web - Backend services are in /services - Shared libraries are in /packages - Follow the architecture decision records in /docs/adr# Security review guidelines - Always validate user input - Use parameterized queries for database operations - Implement proper authentication and authorization - Follow OWASP security best practices - Never log sensitive informationファイルを保存します。
指示を適用するには、新しい会話またはフローを開始します。
AGENTS.mdファイルを変更するたびに、これを行う必要があります。
特定の環境変数を設定している場合、AGENTS.mdファイルを別の場所に作成します:
GLAB_CONFIG_DIR環境変数を設定している場合、$GLAB_CONFIG_DIR/AGENTS.mdにファイルを作成します。XDG_CONFIG_HOME環境変数を設定している場合、$XDG_CONFIG_HOME/gitlab/duo/AGENTS.mdにファイルを作成します。
ワークスペースレベルのAGENTS.mdファイルを作成する
ワークスペースレベルのAGENTS.mdファイルは、特定のプロジェクトまたはワークスペースにのみ適用されます。
プロジェクトのワークスペースのルートで、
AGENTS.mdファイルを作成します。ファイルに指示を追加します。例:
# Project-specific guidelines - This project uses React with TypeScript - Follow the component structure in /src/components - Use our custom hooks from /src/hooks - State management uses Redux Toolkitファイルを保存します。
指示を適用するには、新しい会話またはフローを開始します。
AGENTS.mdファイルを変更するたびに、これを行う必要があります。
モノレポおよびサブディレクトリにAGENTS.mdファイルを作成する
モノレポまたは特定のコンポーネントを含むプロジェクトでは、サブディレクトリにAGENTS.mdファイルを配置することで、コードベースのさまざまな部分に応じたコンテキスト固有の指示を提供できます。
GitLab Duo Chatが、サブディレクトリにある追加のAGENTS.mdファイルを検出すると、そのディレクトリ内のファイルを編集する前に、関連ファイルを読み取ります。例:
/my-project
AGENTS.md # Root instructions (included in all conversations)
/frontend
AGENTS.md # Frontend-specific instructions
/backend
AGENTS.md # Backend-specific instructionsこの例では、以下のとおりとなっています:
- ルートの
AGENTS.mdは、常に会話に含まれます。 - GitLab Duoが
/frontend内のファイルを編集する際、最初に/frontend/AGENTS.mdを読み取ります。 - GitLab Duoが
/backend内のファイルを編集する際、最初に/backend/AGENTS.mdを読み取ります。
このアプローチにより、GitLab Duoはプロジェクトの各部分に適した規則に従うようになります。
サブディレクトリでAGENTS.mdを使用するには、以下の手順に従います:
プロジェクトのサブディレクトリに
AGENTS.mdファイルを作成します。そのディレクトリに固有の指示を追加します。たとえば、バックエンドサービスの場合は次のようになります:
# Backend service guidelines - This service uses Node.js with Express - Follow RESTful API conventions - Use async/await for asynchronous operations - Validate all inputs with Joi schemasファイルを保存します。
指示を適用するには、そのディレクトリ内のファイルが関係する新しい会話を開始します。
AGENTS.mdファイルを変更するたびに、これを行う必要があります。