0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CLAUDE.mdの書き方完全ガイド - Claude Codeの出力品質を決める設定ファイル

0
Posted at

CLAUDE.mdとは

CLAUDE.mdはClaude Codeが会話の開始時に自動で読み込む設定ファイルだ。

ここに書いたことは、Claude Codeの全ての出力に反映される。「TypeScriptで書いてください」と毎回言わなくても、CLAUDE.mdに書いておけば常にTypeScriptで生成される。

逆に言えば、CLAUDE.mdを書かないと:

  • 毎回「うちのプロジェクトはTypeScriptを使っています」と説明する
  • 既存のコードのスタイルと合わない実装が生成される
  • 「あのファイルは触らないで」と何度も言うことになる

配置場所

場所 スコープ
~/.claude/CLAUDE.md 全プロジェクト共通
プロジェクトルート/CLAUDE.md プロジェクト固有
サブディレクトリ/CLAUDE.md そのディレクトリ以下

モノレポでは親ディレクトリに共通設定、各パッケージに個別設定を置くのが有効だ。


最小限のCLAUDE.md

# プロジェクト名

## 技術スタック
- TypeScript 5.x
- Express + Prisma
- PostgreSQL

## テスト実行
npm test

## コードスタイル
- Prettier + ESLint設定済み
- コミット前に `npm run lint` を実行

この3セクション(技術スタック・テスト・スタイル)があるだけで、出力品質が大きく改善する。


高度なCLAUDE.mdの書き方

1. 「絶対禁止事項」を書く

## 変更禁止ルール
- `src/legacy/` 以下は変更しないこと(本番影響大)
- `package.json` の依存関係は追加しないこと(要レビュー)
- `.env` ファイルは読み書きしないこと(セキュリティリスク)

「禁止」「しないこと」という強い言葉を使うと守られやすい。

2. アーキテクチャ制約を書く

## アーキテクチャルール
- レイヤー: Controller → Service → Repository(逆依存禁止)
- Controller に DB操作を書かない
- Service に HTTP依存コードを書かない
- 全エンドポイントに認証ミドルウェアを適用すること

3. セキュリティ要件を書く

## セキュリティ要件
- SQLは必ずパラメータ化クエリを使う(文字列結合禁止)
- 外部入力は全てzodでバリデーション
- ログにPII(個人情報)を出力しない
- エラーメッセージに内部詳細を含めない(ユーザー向けは汎用メッセージ)

4. テスト要件を書く

## テスト要件
- 新機能には単体テストが必須
- カバレッジ目標: 80%以上
- テストファイルは `tests/` 以下、ファイル名は `*.test.ts`
- モックは `jest.mock()` で、実際のDBに繋がないこと

5. よく参照するファイルパスを書く

## よく使うファイル
- DB接続: `src/lib/db.ts`
- 認証ミドルウェア: `src/middleware/auth.ts`
- 共通型: `src/types/index.ts`
- エラークラス: `src/errors/AppError.ts`
- APIルート一覧: `src/routes/index.ts`

これを書いておくと、「既存のDB接続パターンを使って」と言うだけで正しいファイルを参照してくれる。


チーム開発でのCLAUDE.md

誰が書くか

最初のバージョンはリードエンジニアが書く。その後は全員がPRに含める形で更新する。

# 変更履歴
- 2026-03-01: 初版作成(@lead-dev)
- 2026-03-11: セキュリティ要件追加(@security-team)

チーム共通の禁止事項

## チーム規約
- 「あとで直す」コードは書かない(TODOコメントには担当者と期限を書く)
- console.log は本番コードに残さない
- 型アサション(as SomeType)は使わない
- マジックナンバーは定数化すること

CLAUDE.mdのよくある失敗例

失敗1: 曖昧な表現

# NG
- コードはきれいに書く
- セキュリティに注意する

# OK
- 関数は50行以内
- SQLはパラメータ化クエリのみ(文字列結合でのクエリ組み立て禁止)

失敗2: 長すぎる

CLAUDE.mdが長すぎると、重要な内容が読み飛ばされる。最優先事項を上に書き、詳細は別ファイルに分ける。

## 開発規約
主要ルールのみ記載。詳細は `docs/coding-standards.md` を参照。

失敗3: 更新されない

CLAUDE.mdは「一度書いたら終わり」のファイルではない。プロジェクトの変化に合わせて更新する。月1回レビューする習慣を作るといい。


まとめ: CLAUDE.mdのチェックリスト

□ 技術スタック(言語・フレームワーク・DB)
□ テスト実行コマンド
□ コードフォーマット設定
□ 変更禁止ファイル・ディレクトリ
□ アーキテクチャの制約(レイヤー設計等)
□ セキュリティ要件
□ よく使うファイルパス
□ チーム固有の禁止事項

Claude Codeのカスタムスキルを組み合わせると、CLAUDE.mdで定義した規約を自動チェックできます。

Code Review Pack(¥980) では、コードがCLAUDE.mdの規約に従っているかを /code-review が自動チェックします。

みょうが (@myougaTheAxo) — ウーパールーパーのVTuber。Claude Codeの実践的な使い方を発信中。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?