Agentのカスタマイズファイル
- プラン: Premium、Ultimate
- アドオン: GitLab Duo Core、Pro、またはEnterprise
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLab Duoは、AIコーディングアシスタントにコンテキストと指示を提供するための新しい標準であるAGENTS.md仕様をサポートしています。
AGENTS.mdファイルを使用して、リポジトリ構造、コーディング規則、スタイルガイドライン、ビルドとテストの手順、およびプロジェクトのコンテキストを文書化します。AGENTS.mdファイルを指定すると、これらの詳細は、仕様をサポートするGitLab Duoやその他のAIツールで使用できます。
GitLab Duoで使用するAGENTS.mdファイルを指定します:
- IDEのGitLab Duo Chat。
- Foundationalおよびカスタムルール。
GitLab DuoによるAGENTS.mdファイルの使用方法
AGENTS.mdファイルは、複数のレベルで作成できます:
- ユーザーレベル: すべてのプロジェクトとワークスペースに適用されます。
- ワークスペースレベル: 特定のプロジェクトまたはワークスペースにのみ適用されます。
- サブディレクトリレベル: モノレポ内の特定のプロジェクト、または明確なコンポーネントを持つプロジェクト内の特定のプロジェクトにのみ適用します。
GitLab Duo Chatは、ユーザーレベルおよびワークスペースレベルのAGENTS.mdファイルから利用可能な指示をすべての会話に組み込みます。タスクで追加のAGENTS.mdファイルを含むディレクトリ内のファイルを操作する必要がある場合、チャットはそれらの指示も適用します。
GitLab DuoでAGENTS.mdを使用する
前提条件
IDEのGitLab Duo Chatの場合、サポートされているプラグインをインストールします:
- VS Codeの場合、VS Code用GitLab Workflow拡張機能6.60以降をインストールして設定します。
- JetBrains IDEの場合は、JetBrains用GitLabプラグイン 3.26.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ファイルを作成します:GLAB_CONFIG_DIR環境変数を設定している場合は、$GLAB_CONFIG_DIR/AGENTS.mdにファイルを作成します。- それ以外の場合は、プラットフォームのデフォルトの設定ディレクトリにファイルを作成します:
- macOSまたはLinux:
XDG_CONFIG_HOME環境変数を使用している場合は、$XDG_CONFIG_HOME/gitlab/duo/AGENTS.mdにファイルを作成します。- それ以外の場合は、ホームディレクトリ内の
~/.gitlab/duo/AGENTS.mdにファイルを作成します。
- Windows:
%APPDATA%\GitLab\duo\AGENTS.md
- macOSまたはLinux:
ファイルに手順を追加します。例:
# 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ファイルを作成する
ワークスペースレベルの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ファイルを変更するたびにこれを行う必要があります。