Phase 1 — 規約整備

ルール配置と初版コミット。

Phase 1 — 規約整備

規約整備の3ツール(Cursor / Claude Code / Codex)

Cursor・Claude Code・Codex ではルールの置き場所と読み込み方が異なります。メインは1本に絞り、禁止事項など事故りやすい条項だけ複数ツールに揃えます。

3ツール比較表・各ツール setup 手順の正本ルール/プラン — 3ツール早見 · 初版テンプレ → 本章 ルールファイル本体

PRD の承認は 要件すり合わせPRD メモ参照。

メインで使うツール別・最小構成の早見表

配置ファイル

Cursor の配置ファイル

project/
├── AGENTS.md                          # 入口・必読 rules 索引(Codex 本体にもなる)
├── .cursorignore                      # エージェントから除外するパス
└── .cursor/
    ├── rules/                         # 静的ルール(.mdc + frontmatter)
    │   ├── 00-project.mdc           # alwaysApply: true
    │   ├── 10-domain-rules.mdc
    │   ├── 20-coding-style.mdc      # globs で言語別
    │   └── 60-ai-workflow.mdc
    ├── skills/                        # Agent Skills(SKILL.md、必要時ロード)
    │   └── my-workflow/SKILL.md
    ├── commands/                      # /review 等の再利用コマンド
    ├── plans/                         # Plan モード「Save to workspace」
    └── hooks.json                     # 任意 / 停止時・ツール前後の強制処理

.mdc の frontmatter:alwaysApply(常に読む)、globs(対象パス)、description(関連時に読む)。alwaysApply(常に読む)は最小限にし、長文は Skills へ。

Claude Code の配置ファイル

project/
├── AGENTS.md                    # Cursor / Codex 共有の入口
├── CLAUDE.md                    # リポ全体の薄い方針 (+ 必要なら User scope)
├── packages/foo/CLAUDE.md       # 大規模モノレポ向け: サブツリー固有の規約(公式推奨)
├── .agents/skills/              # Codex: リポ共有 Skill
├── .codex/config.toml           # Codex: 任意のプロジェクト設定
└── .claude/
    ├── skills/                  # 必要時に明示利用 / 反復する手順・長い運用を Skill に分離する置き場所
    ├── agents/                  # 任意 / 複雑調査や役割分担が必要な時 / 専用サブエージェントの振る舞いを定型化
    └── settings.json            # 任意 / 対象イベント時 / Hooks で整形・保護ファイル・危険コマンド検査などを強制

個人のグローバルルール (/Users/<user>/.cursor/rules/) に既に書いてあるものは重複させない。

Claude Code の個人グローバル指示 (~/.claude/CLAUDE.md) に既に書いてあるものも重複させない。

Codex の個人グローバル指示 (~/.codex/AGENTS.md) に既に書いてあるものも重複させない。

Codex の配置ファイル

project/
├── AGENTS.md                    # リポ全体の短い方針(Cursor と共有可)
├── packages/foo/AGENTS.md       # サブツリー固有の規約(作業ディレクトリに近いほど優先)
├── .agents/
│   └── skills/                  # リポ共有の Skill(SKILL.md + 任意 scripts/)
│       └── phase4-domain-tdd/
│           └── SKILL.md
└── .codex/
    └── config.toml              # 任意 / プロジェクト上書き(trusted プロジェクトのみ読込)

個人グローバル:~/.codex/AGENTS.md(文体の好みなど)、$HOME/.agents/skills/(全リポ共通 Skill)。一次情報:Codex Customization。詳細は リポジトリ構成

ルールファイル本体 (テンプレート)

コピー先用途詳細
.cursor/rules/*.mdcCursor 常時/条件付きルールルールサンプル
CLAUDE.md / .claude/rules/Claude Code リポ設定Claude Code 章
AGENTS.md / .agents/skills/Codex / Skills 入口Codex 章
tasks/todo.md · tasks/lessons.mdPlan · 振り返り11.6 tasks/

ルールファイル本体 (テンプレート) / Cursor

AGENTS.md=入口、.cursor/rules/*.mdc=方針、.cursor/skills/=手順。旧 .cursorrules.cursor/rules/ へ移す。

コピー用全文: ルールサンプル — 下記テンプレの一覧ページ。

AGENTS.md

長くしない。Codex は作業フォルダに近い AGENTS.md を優先。Claude 併用時は CLAUDE.md から import して重複を避ける。役割は「何を読むべきか」「どこに書くべきか」の短い索引に絞り、ステークホルダー・必読ルール一覧・出力先(docs/ と z_docs/ の使い分け)・既存パターン参照・禁止事項を記載する。

コピー用全文: AGENTS.md サンプル

.cursor/rules/10-domain-rules.mdc (最重要・プロジェクト固有)

プロジェクト固有の事実だけを書く(一般論や長い手順は他ファイルへ)。数値計算の丸めポリシー、業務不変条件、業務ルール、例外設計(業務例外と技術例外の分離)、用語の日英マッピングをカバーする。

コピー用全文: 10-domain-rules.mdc サンプル

.cursor/rules/20-coding-style.mdc
---
description: コーディング規約 (プロジェクト言語に合わせる)
globs: ["**/*.<project-ext>"]  # 例: **/*.ts, **/*.tsx, **/*.py
---

# Coding Style

## このファイルの役割
- formatter / linter / type checker で表現できることはそちらを正本にする
- ここにはプロジェクト固有の設計・命名・コメント方針だけを書く

## 型と関数
- 型情報は言語標準の方法で明示する
- 公開APIのドキュメントはプロジェクト標準の形式に従う (Docstring / TSDoc / Godoc 等)
- パブリックAPIは pure function を優先、副作用は infrastructure層に閉じる

## コメント
- コメントは「なぜ」のみ。「何をしているか」のコメント禁止
- 許可するアノテーション: TODO / FIXME / HACK / NOTE / WARNING / REVIEW / OPTIMIZE / CHANGED / XXX
- 上記以外の独自接頭辞禁止

## 設計
- レイヤ: interface / application / domain / infrastructure
- domain層は他レイヤに依存しない (依存逆転)
- ORM model と domain entity を混在させない

## 命名
- クラス: PascalCase
- 関数/変数: 言語標準 (`snake_case` / `camelCase`)
- 定数: 言語標準 (`UPPER_SNAKE` 等)
- 私有メンバ: 言語 / FW 標準に従う

## 既存コード優先
新規ファイル作成や大きな変更の前に類似既存ファイルを必ず参照し、命名・構成・エラー処理を揃える。
.cursor/rules/30-testing.mdc

変更箇所に最も近いテストから検証し、必要なときだけ外側へ広げる。層別(domain は Inside-out TDD 厳守、application はユースケース単位、infrastructure/interface は結合・E2E 中心)の厳格度、Red-Green-Refactor サイクル、カバレッジ方針、テスト命名、必須カバー観点(正常系・境界値・異常系・並行性)、アンチパターンを定義する。

コピー用全文: 30-testing.mdc サンプル

.cursor/rules/40-logging.mdc

構造化ログ(JSON)・必須フィールド・レベル別運用(DEBUG〜CRITICAL)・機微情報のマスキング方針(個人情報・認証トークンはログ出力禁止)・出力先(標準出力 + 基盤側で集約)を定める。

コピー用全文: 40-logging.mdc サンプル

.cursor/rules/50-documentation.mdc

docs/(チーム公式、レビュー必須)と z_docs/(任意の個人作業メモ)の役割分担、配置先の判定基準、書式・トーンの違いを定義する。z_docs は docs と二重管理せず、正式に残す内容は docs を正本とする。

コピー用全文: 50-documentation.mdc サンプル

.cursor/rules/60-ai-workflow.mdc

常時守る進め方(1チャット=1タスク、編集前に既存コード・テスト・ドキュメントを読む、推測で埋めない)、検証(最小の有効な確認を実施し未実施は明記)、履歴整備(z_docs/history への作業ログ、docs/adr への正式判断記録)を定める。

コピー用全文: 60-ai-workflow.mdc サンプル

.cursor/rules/61-tdd-loop.mdc

ユーザーが TDD を明示したときなど厳格な test-first が必要な場面でのみ使う運用規約。RED-GREEN-REFACTOR の厳守事項とサイクル粒度(1サイクル=1つの振る舞い)を定める。

コピー用全文: 61-tdd-loop.mdc サンプル

ルールファイル本体 (テンプレート) / Claude Code

長くなったら .claude/rules/CLAUDE.local.md へ。Cursor と同じ内容の重複は避ける。

セットアップ 12 項(コミュニティ要約 / AI 開発環境として整える)

出典:@NainsiDwiv50980 / X(要約。Anthropic 公式 を優先)。

前提:賢いチャットではなく、AI 開発環境として周辺を先にそろえる。

  1. CLAUDE.md で永続メモリ — アーキテクチャ判断・コーディング規約・デバッグメモ・エッジケース・プロダクト文脈・繰り返しミスをチャット履歴ではなくファイルに残す。チーム判断は z_docs/history/ 等にも二重化可(リポジトリ — tasks/)。
  2. 新規コードベースでは /init を最初に — 構造・依存・規約・ワークフローをマップしてから「Build / Fix」を依頼する。
  3. Git worktree で並列 AI — 認証・UI・バグ修正などを main を汚さず別 worktree で同時進行(本リポの Cursor 向けは エージェント運用 — 調査の任せ方・Background Agent も一緒に使う可)。
  4. 探索 CLI を入れる — ripgrepfdjq 等で探索・パースを速くし、エージェントの検索品質を上げる。サービス CLI(gh / vercel / aws 等)は 11.3 ホスト CLI を Day1 で認証済みに。
  5. MCP を戦略的に — ライブドキュメント・ブラウザ・DB・Notion・API など。推測ではなく外部コンテキストで動かす(2. Claude CodeMCP 連携例)。
  6. ターミナルだけに閉じない — Cursor / VS Code と一緒に使うするとインライン編集・可視性・ナビが良く、摩擦が減る。
  7. Plugins で専門役割 — フロント・リファクタ・アーキテクチャレビュー・ドキュメント生成など、汎用 1 体ではなく役割分担(Claude Code 補足 の engineering スキル表参照)。
  8. 再利用スラッシュコマンド — /security-audit/generate-tests などを Skill やカスタムコマンドで定型化(18.2 Skills)。
  9. 別の AI 担当でコンテキスト保護 — 調査・UX・依存追跡は隔離し、有用な結果だけメインに戻す(調査の任せ方)。
  10. トークン使用量を追跡 — コンテキスト肥大・高コストセッション・不要なツール呼び出しを把握する(リソース管理も AI エンジニアリングの一部)。
  11. 大規模作業は高コンテキスト枠のプラン — 大規模リファクタ・巨大リポ・多ファイル推論ではコンテキスト上限がボトルネックになりやすい。
  12. CI/CD に組み込む — PR レビュー・標準準拠・マージ前の指摘をパイプラインに載せ、開発ライフサイクルに AI を埋め込む(Phase 7 PR11.5 CI/CD)。
大規模コードベース向け(公式 2026-05 / Claude Code at scale)

一次情報:How Claude Code works in large codebases(2026-05-14)。要約:@commte / X

  • ルートの CLAUDE.md は薄く(全体像とクリティカルな gotcha のみ)。チーム・パッケージ固有の規約はサブディレクトリの CLAUDE.md に寄せる(移動時に加算的に読み込まれる)。
  • セッションの開始ディレクトリはリポジトリルートではなく、作業対象のサブディレクトリから入る(コンテキストを絞る。親階層の CLAUDE.md は自動で拾われる)。
  • ハーネス(拡張の積み上げ)の目安: CLAUDE.md → Hooks → Skills → Plugins → MCP。LSP(シンボル検索)と別の AI 担当はこの上に載せる。
  • Stop フックでセッションの学びを CLAUDE.md 更新案として残す運用を検討する(公式は「自己改善」用途を推奨)。
  • サブディレクトリの CLAUDE.md に、その配下だけの test / lint コマンド を書く(全件テストはタイムアウトと無関係な出力でコンテキストを浪費しやすい)。
  • .claude/settings.jsonpermissions.deny や ignore で生成物・ビルド成果物を除外し、ノイズを減らす(チームでバージョン管理)。
  • ディレクトリ構造だけでは辿りにくいリポでは、ルートにコードベースマップ(トップレベルフォルダの一行説明)を置く。
  • CLAUDE.md は3〜6ヶ月ごとに棚卸しする(モデル進化で不要・有害になった指示が残りやすい)。
  • 組織導入では設定の DRI(プラグイン市場・権限・CLAUDE.md 階層の標準)を決め、良い設定が部族知識のまま散らばらないようにする。
CLAUDE.md (User / Project スコープ)

~/.claude/CLAUDE.md=個人共通、リポ直下=全体方針。モノレポは packages/foo/CLAUDE.md でフォルダ固有の規約を足す。User scope(応答言語・要確認コマンド)と Project scope(Claude Code 固有の補足、Cursor ルールとの対応、よく使うコマンド、禁止事項)を分けて書き、`AGENTS.md` とは重複させない。

コピー用全文: CLAUDE.md サンプル

.claude/skills/

各 Skill の frontmatter に description を書く。手動起動だけにしたい手順は disable-model-invocation: true を検討。

コピー用全文: .claude/skills/ サンプル

Hooks (任意)

大規模リポでは Stop フックで学びを CLAUDE.md の更新案として残す運用も有効。結果が一定で、遅くない処理だけ定義する(例: PreToolUse で危険コマンドを検査)。

コピー用全文: Hooks 設定サンプル

ルールファイル本体 (テンプレート) / Codex

設定は .codex/config.toml、外部連携は MCP。禁止事項は Cursor / Claude と短く対応づけ、長文は Skill へ。

公式のカスタマイズ階層(OpenAI Codex)

一次情報:Customization / Best practices

  • AGENTS.md — ビルド・テストコマンド、レビュー期待、リポ規約。直した内容は AGENTS.md に書いて残す(/init や PR で @codex への依頼も可)。
  • Memories — 過去セッションの有用な文脈(補助)。
  • Skills — 繰り返す手順(リポは .agents/skills/、個人は $HOME/.agents/skills)。
  • MCP — Linear / GitHub / 社内 docs などの外部ツール。
  • Subagents — 調査と編集を分け、専門タスクは別の AI 担当に任せる。
  • 大規模リポでは ルート AGENTS.md は薄く、packages/foo/AGENTS.md のようにサブディレクトリへ規約を寄せる(作業ディレクトリに近いファイルが優先)。
  • ルールは pre-commit / lint / 型チェック で機械的に裏付ける(プロンプトだけに頼らない)。
AGENTS.md(Codex / 共有)

リポ直下・サブフォルダの AGENTS.md をセッション前に読む。グローバルは ~/.codex/AGENTS.md。Cursor 併用時は Cursor の AGENTS.md を正とする。毎回守る方針・ビルド/テストコマンド・レビュー期待・禁止事項・ルーティング(docs/ と z_docs/ の使い分け)を短くまとめる。

コピー用全文: AGENTS.md(Codex 補足例)サンプル

.agents/skills/

各 Skill に SKILL.md(frontmatter の name / description)と、必要なら scripts/ を置く。

コピー用全文: .agents/skills/ サンプル

.codex/config.toml(任意)

ユーザー設定は ~/.codex/config.toml。リポ上書きは .codex/config.toml。Hooks は結果が一定な処理(lint、危険コマンド検査)向け。

コピー用全文: .codex/config.toml サンプル

Phase 1 初手

新規プロジェクトのリポジトリ規約を整備します。

【プロジェクト】
[名称]
[目的・主要ユーザ・主要機能の3行サマリ]

【技術スタック (既知の範囲)】
- 言語: ...
- FW: ...
- DB: ...

【作業】
リポジトリ直下に AGENTS.md を作成し、利用するラインに応じて以下を整備してください。
- Cursor ライン: .cursor/rules/*.mdc
- Claude Code ライン: CLAUDE.md と .claude/skills/ (必要なら .claude/agents/ / Hooks)
- Codex ライン: .agents/skills/ と必要なら .codex/config.toml
内容は本ドキュメント 7.2 のテンプレートに従い、上記プロジェクト前提で具体化してください。
特に 10-domain-rules.mdc は、私が後で埋めるべき項目をプレースホルダで残してください。
tasks/todo.md と tasks/lessons.md が無ければ、リポジトリ同梱のテンプレをコピーして配置してください。

追記方針:
- 毎回守る禁止事項・確認フロー・責務分離は rules / AGENTS.md / CLAUDE.md / Skills に書く
- 機能固有の要件・設計・ADR は docs/ に書く
- 再利用する依頼文テンプレートは docs/prompts/ に分ける

Cursor ルールファイルは frontmatter (description, alwaysApply/globs) を必ず含めてください。
Claude Code 側は CLAUDE.md を短く保ち、長い手順は .claude/skills/ に逃がしてください。
Codex 側は AGENTS.md を短く保ち、長い手順は .agents/skills/ に逃がしてください。
作成後、整備したラインの要点を10行以内で要約してください。

既存プロジェクトへの導入

既存リポジトリに本フローを導入します。

【現状】
- 言語/FW: ...
- 規模: 約 XX ファイル, YY KLoC
- 既存規約ファイル: [.editorconfig / pre-commit / 等の有無]

【作業】
1. 既存コードをサンプリングして規約パターンを抽出
2. 抽出結果をもとに AGENTS.md、Cursor 用 .cursor/rules/*.mdc、Claude Code 用 CLAUDE.md / .claude/skills/、Codex 用 .agents/skills/ の初版を提案 (本ドキュメント Phase 1 — 配置ファイルのファイル群)
3. 既存と衝突する箇所は「現状」と「提案」を併記

注意:
- 既存規約を上書きせず追補する形で
- alwaysApply: true は最小限に (現状コードと矛盾しない範囲のみ)
- Claude Code / Codex 側も同じ制約を短く対応付け、長い手順は各 Skill ディレクトリに寄せる
- 恒久ルールに書くことと、docs / prompts / task markdown に分けるべきことを混同しない

" aria-label="前後の章">← リポジトリセットアップ →" aria-label="前後の章">← ガイドをまとめる設定サンプル →" aria-label="前後の章">← ガイドをまとめる設定サンプル →