Windsurfの設定 - AGENTS.md
提供: MochiuWiki : SUSE, EC, PCB
📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
概要
AGENTS.mdは、Windsurf Cascade向けのディレクトリスコープ型指示ファイルである。
Windsurfでは、Cascadeへの指示を定義する方法として、.windsurf/rules/ ディレクトリ (推奨) と AGENTS.md ファイル の2種類の現行形式が存在する。
AGENTS.mdの主な特徴を以下に示す。
- 通常のMarkdown形式 (特殊なフロントマター不要)
- 標準的なMarkdown記法で記述可能であり、YAMLフロントマターは任意である。
- ディレクトリスコープ
- ルートに配置するとプロジェクト全体に適用、サブディレクトリに配置するとその配下のみに適用される。
- 大文字小文字を区別しない
- agents.md でも認識される。
- Windsurfによる自動検出
- ワークスペース、サブディレクトリ、Gitルートまで遡って検出される。
- 60以上のAIコーディングツールで互換性を持つオープンフォーマット
- Linux Foundation傘下のAgentic AI Foundation管理である。
| 種類 | ファイル/ディレクトリ | 説明 |
|---|---|---|
| .windsurf/rules/ (推奨) | .windsurf/rules/*.md | Wave 8以降の標準形式 複数ルールファイルに分割可能で、発動モードによる細かい制御が可能 |
| AGENTS.md | 任意のディレクトリ/AGENTS.md | ディレクトリスコープ型の指示ファイル ルートに配置すると全体に適用、サブディレクトリに配置するとその配下のみに適用 |
| .windsurfrules (レガシー) | プロジェクトルート/.windsurfrules | Wave 8以前の形式 単一ファイルを置くだけで自動的に読み込まれる |
AGENTS.mdの基本仕様
ファイル形式
AGENTS.mdの基本的なファイル形式を以下に示す。
- 通常のMarkdown形式
- 特殊なフロントマター不要である。
- AGENTS.mdの内容はプロンプトの一部としてCascadeに送信される
- 大文字小文字を区別しない
- agents.mdでも認識される。
- 推奨長さ
- 300行以下
- 長すぎるとCascadeのコンテキストを圧迫する。
- フロントマターはオプション
- name、description等のYAMLフロントマターも記述可能だが必須ではない。
配置場所と自動検出
AGENTS.mdは、プロジェクトルートまたはサブディレクトリに配置可能である。
Windsurfの自動検出の仕組みを以下に示す。
- ワークスペース内のAGENTS.mdを自動検出
- サブディレクトリ内のAGENTS.mdも検出
- Gitルートまで遡って検出
配置したディレクトリの階層に応じて適用範囲が決まる。
ディレクトリスコープの仕組み
AGENTS.mdの適用範囲は、配置場所によって決定される。
- ルートに配置
- プロジェクト全体に適用される。
- サブディレクトリに配置
- その配下のみに適用される。
- 複数のAGENTS.mdが存在する場合
- 最も近いファイルが優先される。
- 親ディレクトリの指示と併用される。
ディレクトリツリーの配置例を以下に示す。
プロジェクト/
├── AGENTS.md # プロジェクト全体に適用
├── src/
│ ├── AGENTS.md # src/配下に適用 (プロジェクト全体の指示も併用)
│ ├── frontend/
│ │ └── AGENTS.md # frontend/配下に適用
│ └── backend/
│ └── AGENTS.md # backend/配下に適用
└── tests/
└── AGENTS.md # tests/配下に適用
適用優先順位を以下に示す。
例: /src/frontend/components/Button.tsxファイルを編集する場合
- /src/frontend/AGENTS.md (最優先)
- /src/AGENTS.md
- /AGENTS.md (最低優先度)
Windsurfのプロジェクト構成
.windsurf/ディレクトリ
.windsurf/ ディレクトリの各要素を以下に示す。
- rules/
- ルールファイル (.windsurf/rules/*.md)
- Wave 8以降の標準形式である。
- 複数ルールファイルに分割可能である。
- 4つの発動モード (Manual、Always On、Model Decision、Glob) を持つ。
- workflows/
- ワークフローファイル (.windsurf/workflows/*.md)
- スラッシュコマンド (/workflow-name) で呼び出す反復タスクの自動化である。
- skills/
- スキルディレクトリ (.windsurf/skills/<skill-name>/)
- SKILL.md + 支援ファイル群で構成される。
- 複雑な多段階タスクを実行する。
- hooks.json
- フック設定である。
- Worktreeの作成時の環境セットアップを自動化する。
グローバル設定 (~/.codeium/windsurf/)
グローバル設定は、ユーザのホームディレクトリ配下のパスに保存される。
- mcp_config.json
- MCPサーバ設定 (グローバル)
- hooks.json
- フック設定 (グローバル)
- memories/global_rules.md
- グローバルルール
- skills/
- グローバルスキル
| 機能 | プロジェクト固有 | グローバル |
|---|---|---|
| ルール (Rules) | .windsurf/rules/ | ~/.codeium/windsurf/memories/global_rules.md |
| スキル (Skills) | .windsurf/skills/ | ~/.codeium/windsurf/skills/ |
| ワークフロー (Workflows) | .windsurf/workflows/ | (なし) |
| AGENTS.md | 任意のディレクトリ | (なし) |
| MCP設定 | (なし) | ~/.codeium/windsurf/mcp_config.json |
| フック設定 | .windsurf/hooks.json | ~/.codeium/windsurf/hooks.json |
推奨ディレクトリ構成
推奨プロジェクト構成を以下に示す。
プロジェクト/
├── .windsurf/
│ ├── hooks.json
│ ├── rules/
│ │ ├── japanese-output.md
│ │ ├── coding-standards.md
│ │ └── qt-development.md
│ ├── workflows/
│ │ └── research.md
│ └── skills/
│ └── deploy-production/
│ ├── SKILL.md
│ └── deployment-checklist.md
├── .windsurfrules # レガシー形式 (任意)
├── AGENTS.md # ディレクトリスコープ型の指示
└── src/
├── AGENTS.md # src/配下のみに適用
└── ...
~/.codeium/windsurf/ # グローバル設定 (ホームディレクトリ配下)
├── mcp_config.json
├── hooks.json
├── memories/
│ └── global_rules.md
└── skills/
└── ...
AGENTS.mdとRulesの関係
AGENTS.md と .windsurf/rules/ の使い分けについて説明する。
| 項目 | AGENTS.md | .windsurf/rules/ |
|---|---|---|
| 適用範囲 | ディレクトリスコープ (配置場所で決定) | 発動モードで制御 |
| ファイル形式 | 通常のMarkdown | Markdownファイル |
| 発動モード | 自動 (ディレクトリスコープ) | Manual / Always On / Model Decision / Glob |
| ベンダー互換性 | 60以上のAIツールで互換性あり | Windsurf専用 |
| 文字数制限 | 推奨300行以下 | 個別6,000文字、合計12,000文字 |
| Git管理 | 推奨 (チームで共有可能) | プロジェクトに含まれる |
推奨される使い分けを以下に示す。
- AGENTS.md
- プロジェクト概要、技術スタック、一般的なコーディングコンテキスト、他のAIツールとも共有する指示に使用する。
- .windsurf/rules/
- Windsurf固有の制約、発動モードの制御が必要な指示、言語固有のルールに使用する。
.windsurfrules (レガシー形式) について:
- Wave 8以前の標準形式である。
- 現在も後方互換性として動作する。
- プロジェクトルートに単一ファイルを配置するだけで自動的に読み込まれる。
- 新規プロジェクトでは .windsurf/rules/ への移行が推奨される。
記述例
プロジェクトルートのAGENTS.md
プロジェクトルートのAGENTS.mdの記述例を以下に示す。
# Project: MyApp
## Overview
TypeScript + React 18のWebアプリケーション
バックエンドはNode.js + Express
## Tech Stack
- Frontend: React 18, TypeScript, Vite
- Backend: Node.js, Express, PostgreSQL
- Testing: Jest, React Testing Library
- CI/CD: GitHub Actions
## Commands
- `npm run dev` - 開発サーバー起動
- `npm test` - テスト実行
- `npm run build` - プロダクションビルド
- `npm run lint` - リント実行
## Project Structure
- `src/frontend/` - Reactコンポーネント
- `src/backend/` - APIエンドポイント
- `tests/` - テストコード
- `docs/` - ドキュメント
## Coding Conventions
- 関数名: camelCase
- コンポーネント名: PascalCase
- 定数: UPPER_SNAKE_CASE
- ファイル名: kebab-case
サブディレクトリのAGENTS.md
src/frontend/AGENTS.md の記述例を以下に示す。
# Frontend Guidelines
## Component Conventions
- 関数コンポーネントのみ使用 (クラスコンポーネント禁止)
- カスタムフックは hooks/ ディレクトリに配置
- スタイルはCSS Modulesを使用
## State Management
- グローバル状態: React Context + useReducer
- ローカル状態: useState
- 非同期データ: React Query (TanStack Query)
## Testing
- コンポーネントテスト: React Testing Library
- フック テスト: @testing-library/react-hooks
- テストファイル: *.test.tsx
推奨される事柄
AGENTS.mdの記述における推奨される事柄を以下に示す。
| ポイント | 説明 |
|---|---|
| 簡潔さの重要性 | 300行以下を推奨 長すぎるとCascadeのコンテキストを圧迫する。 |
| WHY / WHAT / HOW の3要素 | プロジェクトの目的 (WHY)、技術スタック (WHAT)、コーディング規約 (HOW) を含める。 |
| 箇条書き・ヘッダー・コードブロックを活用 | 構造化された形式がCascadeの理解を助ける。 |
| 汎用的でない指示は Rules を使用 | Windsurf固有の制約 (発動モード等) が必要な指示は .windsurf/rules/ に記載する。 |
| 具体的な例と明示的な慣例 | 抽象的な説明より具体的なコード例・コマンドを優先する。 |
| コマンドを早期配置 | ビルド・テスト・リントのコマンドをファイル前半に記載する。 |
| 反復的改善 | 最小限から始め、Cascadeの誤りに応じて指示を追加する。 |
他のAIツールとの比較
| 項目 | Windsurf AGENTS.md | Claude Code CLAUDE.md | GitHub Copilot AGENTS.md | Cursor |
|---|---|---|---|---|
| ファイル名 | AGENTS.md | CLAUDE.md | AGENTS.md | .cursor/rules/*.mdc |
| 配置場所 | 任意のディレクトリ | 任意のディレクトリ | 任意のディレクトリ | .cursor/rules/ |
| ネスト対応 | あり (最も近いファイル優先) | あり (親と自動マージ) | あり (最も近いファイル優先) | なし |
| フォーマット | 標準Markdown | 標準Markdown | 標準Markdown | MDC (frontmatter + Markdown) |
| ベンダー中立 | はい (60以上のツール対応) | いいえ (Claude Code専用) | はい (60以上のツール対応) | いいえ (Cursor専用) |
| 発動モード | 自動 (ディレクトリスコープ) | 自動 (ディレクトリスコープ) | 自動 (ディレクトリスコープ) | Manual / Always On / Auto Attached |
相互互換性の説明を以下に示す。
- WindsurfとGitHub Copilotは同じAGENTS.mdファイルを共有できる。
- Claude CodeはCLAUDE.mdを優先するが、AGENTS.mdも参照可能である。
- CursorはAGENTS.mdに対応しており、.cursor/rules/ と併用可能である。
- 複数のAIツールを使用するプロジェクトでは、AGENTS.mdでの指示共有が効率的である。
関連項目
- AIモデル - Windsurf
- Windsurfの総合ページ (機能、設定、ルール等)