CLAUDE.md と AGENTS.md どっちを使う?

● 結論 → どちらか一つだけで良い

例えば CLAUDE.mdからAGENTS.mdへシンボリックリンクを貼っておくだけで良いです。

あるいは、以下のようにしてもOKです。

CLAUDE.md

@AGENTS.md

● 1. CLAUDE.md と AGENTS.md の両方を読める AIエージェント

AIエージェント 読み取り優先順・挙動
Claude Code (Anthropic) CLAUDE.md を優先、存在しなければ AGENTS.md も自動読み込み(2025年9月以降)
Cursor AGENTS.md を優先、CLAUDE.md も同時検出・合併読み込み
Zed 両方読み込み、衝突時は CLAUDE.md が優先
VS Code (AI拡張機能含む) 両方読み込み可能

● 2. AGENTS.md だけを読む AIエージェント

AIエージェント 代替・独自ファイル
OpenAI Codex CLI
GitHub Copilot (Coding Agent / Custom Agent) .github/copilot-instructions.md も読めるが CLAUDE.md は無視
Google Gemini CLI / Jules GEMINI.md も読めるが CLAUDE.md は無視
Devin (Cognition)
Aider
RooCode
Factory
Amp
ON A
Phoenix
Semgrep
Wrap
opencode
Warp

AGENTS.mdに記述する項目のサンプル

# CLAUDE.md

このファイルはClaude Code がこのリポジトリで作業する際のガイドラインです。

---

## プロジェクト概要

| 項目 | 内容 |
|------|------|
| 構成 | モノレポ |
| フロントエンド | Next.js(App Router)+ TypeScript |
| バックエンド | Laravel(REST API)+ 管理画面 |
| パッケージマネージャー(FE) | pnpm |

---

## Claudeへの指示

- 安易なフォールバックや回避策は実装しないこと
- うまくいかないときは作業を中断し、必ずユーザーに質問すること
- 応答は日本語で行うこと

---

## Git規約

### コミットメッセージ

[Conventional Commits](https://www.conventionalcommits.org/) に従うこと。

```
(): 

type:
  feat     新機能
  fix      バグ修正
  docs     ドキュメントのみの変更
  style    コードの意味に影響しない変更(空白、フォーマット等)
  refactor リファクタリング
  test     テストの追加・修正
  chore    ビルドプロセスや補助ツールの変更
```

例:
```
feat(auth): ログイン機能を追加
fix(api): ユーザー取得時のNullPointerExceptionを修正
```

---

## フロントエンド(Next.js)

### 基本方針

- App Router を使用する
- 必ず TypeScript を使用する
- 型定義は `interface` より `type` を使用する
- Reactの宣言的UIに沿った実装とする
- 単一責任の原則に則って関数を分ける
- 可読性を意識し、できるだけ宣言的に記述する
- 凝集度に注意し、低凝集(疎結合)なコーディングを心がける

### Server / Client Components の境界

- `page.tsx` はサーバーコンポーネントとする
- `page.tsx` から呼び出すコンポーネントは必ず `features/` 配下に置く
- `features/` 配下のコンポーネントをクライアントコンポーネントとし、`"use client"` を宣言する

```
app/
  example/
    page.tsx          ← Server Component("use client"なし)
                           ↓ import
features/
  example/
    ExamplePage.tsx   ← Client Component("use client"あり)
```

### ディレクトリ構成

```
src/
  app/                  # Next.js App Router(page.tsx / layout.tsx等)
  common/
    types/              # 共通型定義
  components/
    ui/                 # 汎用UIコンポーネント(ボタン、モーダル等)
  features/             # 機能単位のクライアントコンポーネント
```

※ 上記以外のディレクトリ(`hooks/`、`libs/`等)は必要に応じて適宜追加する。

### Linter / Formatter

- **oxlint**、**oxfmt** を使用する
- コード生成後は必ずlint・formatが通ることを確認すること

### テスト

- **Jest + Testing Library** を使用する

---

## バックエンド(Laravel)

### 基本方針

- APIサーバーとして実装する(コントローラー+サービス層構成)
- コントローラーはリクエストの受け取りとレスポンス返却のみを担当する
- ビジネスロジックはサービス層に実装する

### コードスタイル

- **Laravel Pint** を使用する
- コード生成後は必ずPintが通ることを確認すること

### テスト

- **Pest** を使用する

---
No.2729
03/23 12:13

edit