5
4

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 Codeを使用する上で設定したほうが良いファイル5選

Posted at

Claude Codeを使用する上で設定したほうが良いファイル5選

こんにちは。
AIを使いこなせるようになりたいと思いつつ、なんだかんだ自分でコードを書いてしまい、なかなかAI技術が向上せずに2026年を迎えた者です。
2026年こそはAIを使いこなせるようになりたいと思い、まずはClaude Codeと向き合おうということで、自分用にClaude Codeを使いこなす上で設定したほうが良いファイルを5選ピックアップしました。

  1. settings.json: 権限・環境設定。操作を快適かつ安全にする。
  2. CLAUDE.md: プロジェクトのルール。コード規約を遵守させる。
  3. .gitignore / .gitattributes: 除外設定。無駄を省き高速化する。
  4. .editorconfig: フォーマット設定。コードスタイルを統一する。
  5. ARCHITECTURE.md / DESIGN.md: 設計共有。プロジェクトの全体像を理解させる。

1. settings.json (権限とセキュリティ)

Claude Codeを使っていて最大のストレスになりがちなのが、lscat などの調査系コマンドを実行するたびに発生する 「実行していいですか?(y/n)」 という確認フローです。
このファイルを設定することで、安全なコマンドは「顔パス(自動許可)」にしつつ、破壊的な操作や機密情報の扱いはブロックする運用が可能になります。

設定例

PCのユーザーフォルダ直下(Mac/Linuxなら ~/.claude/settings.json、Windowsなら C:\Users\{User}\.claude\settings.json)に配置します。

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./**/*.pem)",
      "Bash(rm -rf *)",
      "Bash(git push *)"
    ],
    "allow": [
      "Bash(ls -R)",
      "Bash(echo *)",
      "Bash(cat *)",
      "Bash(grep *)",
      "Bash(find *)"
    ],
    "ask": [
      "Bash(npm install *)",
      "Bash(pip install *)",
      "Bash(docker *)"
    ]
  },
  "autoUpdater": {
    "check": true
  },
  "theme": "dark"
}

解説

  • allow (許可リスト): ファイル構成を確認したり、中身を読むだけの無害なコマンド (ls, cat, grep など) を記述します。これだけで確認ポップアップが激減し、AIが自律的に調査を進められるようになります。
  • deny (禁止リスト): .env などのAPIキーが含まれるファイルや、git push のような外部への送信、rm -rf のような危険な削除コマンドを明示的にブロックし、事故を防ぎます。
  • ask (確認リスト): パッケージのインストールやコンテナ操作など、環境に不可逆な変更を与える可能性のある操作は、念のため人間に確認を求めます。

2. CLAUDE.md (プロジェクトの憲法)

プロジェクトごとの**「コーディング規約」や「ローカルルール」をAIに教え込むためのファイル**です。
Claudeは作業開始前に必ずこのファイルを読み込み、そこに書かれた指示に従ってコードを書くようになります。

何を定義するか

  • 命名規則: 「変数はキャメルケース」「定数はアッパースネークケース」など。
  • 言語・フレームワーク特有の作法: 「ReactではFunctional Componentを使う」「Pythonの型ヒントを必須にする」「非同期処理のエラーハンドリング方針」など。
  • 禁止事項: 「特定の非推奨ライブラリを使わない」「複雑なワンライナーを避ける」など。

💡 運用のポイント

  • 英語での記述を推奨:
    Claudeは日本語も流暢ですが、プロンプトエンジニアリングの観点では英語で指示を書いた方がトークン消費が少なく、かつ論理的な指示の遵守率が向上する傾向があります。

  • 例: Use snake_case for variable names.

  • 箇条書きで簡潔に:
    長い文章で説明するよりも、Bullet Point(箇条書き)で Do / Don't を明確にリストアップすると、AIが迷わずに実行できます。


3. .gitignore / .gitattributes (パフォーマンス最適化)

AIエージェントにとって「コンテキスト(読み込む情報量)」の管理はパフォーマンスに直結します。不要なファイルを除外設定しないと、動作が極端に重くなったり、コストが無駄に嵩んだりします。

.gitignore の役割

「余計なファイルを参照させない」 ために必須です。
node_modulesvenvtargetdistbuild、ログファイルなど、自動生成される巨大なフォルダを無視リストに入れることで、Claudeの読み込み対象をソースコードのみに絞り込み、回答の高速化とAPIコストの削減を実現します。

.gitattributes の役割

「バイナリファイルを誤読させない」 ために重要です。
画像、PDF、Zip、コンパイル済みバイナリなどをテキストとして読み込ませると、文字化けした巨大なデータがターミナルを埋め尽くし、フリーズの原因になります。
これらを「バイナリ扱い(diffを取らない)」として定義しておくことで、AIが誤って中身を開く事故を防げます。


4. .editorconfig (フォーマットの統一)

チーム開発において、人間とAIの間で発生する「インデント戦争(タブ vs スペース)」や「改行コードの不一致」を未然に防ぎます。

設定例

プロジェクトのルートディレクトリに配置します。

root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true

[*.{json,yml,yaml,md}]
indent_size = 2

解説

  • indent_style: AIが生成するコードのインデントをスペースかタブかに統一します。
  • trim_trailing_whitespace: 行末の不要な空白を自動削除させます。
  • 多くのIDE(VS Code, Rider, IntelliJなど)もこの設定を参照するため、プロジェクト全体でコードの見た目を統一できます。

5. ARCHITECTURE.md / DESIGN.md (仕様と設計)

CLAUDE.md が「コードの書き方」なら、こちらは**「システム全体の設計図」**を記すファイルです。
AIはあなたのプロジェクトの背景や目的を知りません。ここを記述しておくことで、単なるコード修正だけでなく、アーキテクチャに沿った的確な提案が可能になります。

何を記載するファイルか

  • システム概要: 「Eコマースサイトの決済マイクロサービス」「社内用勤怠管理ツール」といったプロジェクトの正体。
  • アーキテクチャ設計: 「クリーンアーキテクチャ採用」「フロントエンドはBFFパターン」「DBはCQRS構成」といった技術的な構造。
  • ディレクトリ構成の意図:/core はドメインロジック」「/adapter は外部通信」といったフォルダの役割分担。

💡 効率的な記載方法

  • 「高レベルな概念」に絞る:
    メソッド単位の細かい仕様ではなく、コンポーネント間の依存関係やデータの流れ(Data Flow)など、**俯瞰的な情報(Big Picture)**を書くのが最も効果的です。
  • 変更頻度の低い情報を書く:
    頻繁に変わる機能仕様よりも、プロジェクトを通じて変わらない「設計思想」を書いておくと、メンテナンスの手間を減らしつつAIの理解度を底上げできます。
5
4
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
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?