入門

CLAUDE.md でプロジェクトのルールを定義する

CLAUDE.md ファイルを使ってプロジェクト固有の指示を永続化し、全セッションで自動適用する方法

解決の目安約5分
最終確認

確認済みバージョン

Claude Code 2.1.220
Claude Code

必須: Claude Code

memoryconfigurationproject-setup

症状・対象

セッションごとに技術構成、実行コマンド、禁止事項を説明し直しているチームが対象です。CLAUDE.md には、現在のリポジトリから確認できる短い規約だけを置きます。

最短解決

  1. プロジェクト root で /init を実行する。
  2. 生成内容を実際の package scripts と既存規約に合わせて削る。
  3. 新しいセッションで、検証コマンドと禁止事項を正しく答えられるか確認する。

コピペ例

> /init

最小の CLAUDE.md は次のように、事実・コマンド・境界へ絞ります。

# Project instructions

### Commands

- Install: `pnpm install`
- Test: `pnpm test`
- Type check: `pnpm tsc --noEmit`
- Lint: `pnpm lint`

### Conventions

- Use TypeScript strict mode.
- Narrow `unknown` before reading properties; do not use `any`.
- Preserve unrelated user changes.

### Safety

- Never commit secrets or `.env` files.
- Ask before pushing, publishing, or deleting data.
- Run test, type check, and lint before reporting completion.

領域ごとの長いルールは .claude/rules/ に分け、CLAUDE.md から概要だけ案内します。

.claude/rules/
  typescript.md
  testing.md

期待結果

  • セッション開始時にプロジェクト規約が読み込まれる。
  • Claude が正しい install・test・lint コマンドを選ぶ。
  • 外部送信や削除など、確認が必要な操作を区別できる。

検証

新しいセッションで次を尋ねます。

> このリポジトリの検証コマンドと、実行前に確認が必要な操作を答えて。まだ実行しないで。

回答を package.json と CLAUDE.md に照合します。CLAUDE.md を Git 管理する場合は、意図しない情報が入っていないか差分も確認します。

git diff -- CLAUDE.md .claude/rules

落とし穴

  • 存在しないコマンドや古い version を書くと、全セッションへ誤りを配布します。実ファイルから確認します。
  • 長い設計資料を丸ごと貼らず、参照先と守る規則だけを書きます。
  • 秘密情報、個人用パス、ローカルだけの設定を共有 CLAUDE.md へ入れません。
  • ユーザー指示とプロジェクト規約が衝突した場合に勝手な解釈をさせず、確認条件を明記します。

次の一手

CLAUDE.md なし vs あり

Before
# セッションごとに毎回説明が必要
> このプロジェクトは Node.js + Hono で、
  テストは Vitest を使っています。
  エラーは error instanceof Error でガードして…
After
# CLAUDE.md に一度書けば全セッションで自動適用
# Project: E-Commerce API
## Tech Stack
- Runtime: Node.js 20+
- Framework: Hono
- Testing: Vitest
## Conventions
- Error handling: always catch with `error instanceof Error`

関連コンテンツ