Claude Code のベストプラクティス — Anthropic 公式ガイドから実務まで

Claude Code のベストプラクティス — Anthropic 公式ガイドから実務まで

Anthropic が 2025 年 4 月に公開した Claude Code: Best practices for agentic coding は、Claude Code を実務で使うすべてのエンジニアの必読書です。

ただし原文は英語で、しかも「ここに書いてある通りにやる」ではなく、自分のプロジェクト・自分のチームに合わせて翻訳することが前提の文書。

本稿では、原文の要点を日本語で整理したうえで、Singularity Society で MulmoTerminal 等を開発する中で得た実務知見を加えて、具体的な設定・ワークフロー まで落とします。

まず押さえる 3 原則

1. CLAUDE.md を書く

プロジェクトのルートに CLAUDE.md を置くと、Claude Code はセッション開始時に自動で読み込みます。これがプロジェクト固有の指示を伝える主要経路。

2. 権限を最小化する

Claude Code は許可したツールだけを使います。「全部許可」ではなく、プロジェクトごとに本当に必要なツールだけを allow リストに。

3. ループを短くする

AI エージェント開発は、イテレーション速度が成果の大半を決めます。「1 回のループに何分かかるか」を最適化。

この 3 つを徹底するだけで、Claude Code の使い方が 2 段階くらい変わります。

CLAUDE.md の書き方

Anthropic の推奨は 「エージェントに新人エンジニアとして入社してきた日に渡すオンボーディング資料」 を書くこと。

構造

# プロジェクト名

## 概要
(何を作っているか、1 段落)

## 技術スタック
- 言語: TypeScript / Python / ...
- フレームワーク: Astro / Next.js / FastAPI / ...
- デプロイ: Vercel / Firebase / ...

## コマンド
開発: `yarn dev`
テスト: `yarn test`
ビルド: `yarn build`
デプロイ: `yarn deploy`

## ディレクトリ構造
src/
├── components/   # UI コンポーネント
├── pages/        # ルーティング
├── utils/        # 汎用関数
└── ...

## コーディング規約
- 関数は 20 行以内
- let より const
- any 禁止、型ガード必須

## してはいけないこと
- 本番 DB への直接書き込み
- `git push --force` の main 直接
- API キーのコミット

## 連絡先
- プロジェクトオーナー: @isamu

書く量

経験則では 200-500 行 がスイートスポット。少なすぎると文脈不足、多すぎると context rot(長文脈で精度が落ちる)に当たります。

階層的に書く

モノレポや大規模プロジェクトでは:

/CLAUDE.md               # プロジェクト全体のルール
/apps/web/CLAUDE.md      # Web app 固有のルール
/apps/api/CLAUDE.md      # API 固有のルール

Claude Code は作業ディレクトリに応じて、関連する CLAUDE.md を自動で読み込みます。

更新を怠らない

CLAUDE.md は コードベースと一緒に進化する 文書です。古いルールを放置すると、エージェントが古いやり方で実装し続けます。

PR で CLAUDE.md も一緒に更新する、月 1 で見直す — くらいのメンテナンスが要ります。

カスタムスラッシュコマンド

Claude Code にはカスタムコマンド機能があります。~/.claude/commands/ または .claude/commands/ にファイルを置くだけ。

例: /review

.claude/commands/review.md:

現在のブランチの差分を、以下の観点でレビューしてください。

1. ロジックの正しさ (想定外の入力で壊れないか)
2. 既存コードとの整合性 (命名・型・パターン)
3. テストカバレッジ
4. パフォーマンス懸念
5. セキュリティ懸念

発見した問題は、重要度順に 5 件まで。各問題について:
- 該当ファイルと行番号
- 問題の説明
- 修正案 (コードスニペット)

セッション中に /review と打つだけで、同じ品質のレビューが毎回走ります。

よく使うコマンド例

チーム共有

.claude/commands/ を repo に commit すれば、チーム全員が同じコマンドを使えます。組織的な AI 利用の標準化 に効きます。

ツール権限の設計

Claude Code は tool 単位で許可を取ります。デフォルトで安全側、必要に応じて緩めます。

設定例 (.claude/settings.local.json)

{
  "permissions": {
    "allow": [
      "Bash(yarn:*)",
      "Bash(git log:*)",
      "Bash(git status)",
      "Bash(git diff:*)",
      "Edit",
      "Read",
      "Grep",
      "Glob"
    ],
    "deny": [
      "Bash(rm -rf:*)",
      "Bash(git push:*)",
      "Bash(curl:*)",
      "WebFetch"
    ]
  }
}

原則

Auto mode との付き合い

2026 年の Claude Code には auto mode があり、権限プロンプトを抑制します。これは 信頼度の高いコマンドを自動で通す 設計。

Auto mode を有効にする前に、deny リストを明示的に書くことが推奨されます。

詳細: How we built Claude Code auto mode (Anthropic)

並列実行の推奨

Anthropic は 「1 セッションで作業するより、複数セッションを並列で動かすほうが効率が高い」 と明記しています。

理由

実装

ただし、ペインを目視で監視するコストが問題になります。MulmoTerminal は この監視コストをゼロに近づける ために作られました。

AI エージェント並列化で開発速度 10 倍 で詳述しています。

plan ファイルの活用

長い作業(複数ファイル・複数日にまたがる)に入るときは、まず plans/xxx.md を書かせます。

例: plans/feat-user-dashboard.md

# ユーザーダッシュボード機能追加

## 目的
ユーザーが自分の過去 30 日の利用状況をダッシュボードで見られるようにする。

## 設計
- API: GET /api/user/dashboard/:userId
- フロント: /dashboard ページ、chart.js で可視化
- DB: 既存の usage_events テーブルを集計

## 進捗
- [x] API 設計
- [x] API 実装
- [ ] フロント実装 (今日)
- [ ] テスト追加
- [ ] デプロイ

## 決定事項
- Chart は chart.js を採用(既存ライブラリと競合しないため)
- 集計は毎時バッチ、リアルタイムではない

## 残課題
- 日本語ローカライズは次フェーズ

このファイルがあると:

Context Engineering の Structured note-taking パターンの実装です。

イテレーションを短くする 5 つの工夫

1. Live mode のエディタ連携

Claude Code は Edit tool で直接ファイルを書き換える。確認してからマージ、ではなく、まず書かせて diff を見る。

2. 短いテストを常備

yarn test:fast  # 2 秒で終わる smoke test
yarn test       # 全テスト (30 秒)
yarn test:e2e   # E2E (5 分)

Claude には最初 yarn test:fast を走らせ、通ったら yarn test、デプロイ前に yarn test:e2e の順。

3. エージェントに失敗させる

完璧なプロンプトを人間が考えるより、まず走らせてエージェントに失敗させ、その修正指示を書く ほうが速いことが多い。失敗が最速の feedback。

4. 複数回試す

同じ問題を 2 回別のセッションで試すと、違うアプローチが見えます。1 セッションで固執しない。

5. 自分で手を動かす選択

Claude がどうしても解けないタスクは、人間が 10 分で手を動かした方が速い こともあります。無理に AI に任せない判断力が重要。

MulmoTerminal との統合

MulmoTerminal は Claude Code をブラウザから並列実行するコックピットです。これらのベストプラクティスを実装レベルで組み込んでいます:

Claude Code を 1 セッションだけで使っているなら、まず本記事の内容を適用。並列化のタイミングで MulmoTerminal を検討する流れが自然です。

まとめ

1 日 2-3 時間 Claude Code を使うエンジニアなら、これらの実装で生産性が 1.5-2 倍になります。

関連リンク


Singularity Society はテクノロジー集団として MulmoClaude / MulmoTerminal / MulmoCast を開発しています。エンジニア・起業家向けの実践プログラム BootCamp も運営しています。

この記事をシェア

関連記事

記事一覧に戻る