Claude Code の基本的な使い方のまとめ
Claude Code とは
Anthropic社が提供するターミナルから実行可能なAIエージェント。
AIアシスタント Claude をターミナルから直接呼び出し、コードの解析・編集・テスト・Git操作など、開発作業を自動化・効率化することが可能。エディタに依存することはないため、ワークフローを強制せず、ユーザー自身の開発スタイルに合わせて使うことができる。
エディタに依存しないため、ポータビリティ性が高く、また私自身が Xcode をメインで活用するiOSエンジニアなので、VSCode に依存する Cline などと比較して試しやすく、特に注目している。
※ OpenAI社が提供するOSS、Codex CLI も同じコマンドラインツールなので比較したいが、あまり触ることができていない。
※ 以降の説明では、Claude Code のバージョン 0.2.86
を利用した情報をまとめる。
ルールファイル
Claude のメモリに記憶させたいルールを記載する。よく使うコマンド、ディレクトリの説明、コードスタイル、テスト手順、開発環境の注意点などを記載する。
#
コマンド後に後述する各メモリ領域にテキストを追加することが可能。何を書くかについては別の記事にまとめている。
プロジェクト設定
プロジェクトのルートや任意のディレクトリに CLAUDE.md
を設置すると、その内容が Claude のコンテキストに自動で取り込まれる。
ローカル設定
個人環境で好みが異なるようなルールや、カスタマイズしたいルールがある場合には、プロジェクト直下に CLAUDE.local.md
として定義する。チーム開発の場合には、このファイルを .gitignore
化しておくこと。
# ローカルルール
- コードの修正を行った場合には、修正後にプロジェクトがビルドできることを確認すること
グローバル設定
プロジェクト設定とは別で、すべての Claude コマンドに適用したいようなユーザー固有のグローバル設定に関しては、ユーザーディレクトリ直下の ~/.claude/CLAUDE.md
に記載すること。
# グローバルルール
- 日本語で返信すること
- コード生成を求められた場合は、変更部分のみをわかりやすく説明し、提示すること
使い方
$ claude
で起動し、後は/コマンドによる補完候補で大体何ができそうか想像が付くので、本記事では特に設定値についてやCLIツールならではの使い方にフォーカスしつつ、公式が公開しているベストプラクティスのブログからも掻い摘んで紹介する。
設定
承認なしで実行可能なコマンドの登録
allowdTools "Bash(任意のコマンド)"
の形式で Claude Code の承認ステップをスキップして実行可能なコマンドを登録できる。
$ claude config add allowedTools "Bash(git log:*)"
設定した許可ツールは $ claude config ls
で確認可能。
{
"allowedTools": [
"Bash(git log:*)"
],
...
}
もしくは、Claude Code 起動後の > /allowed-tools
でも確認可能。ここからの確認だと簡単に削除もできる。
{
"permissions": {
"allow": [
"Bash(ls:*)"
],
"deny": []
}
}
読み込むファイルやディレクトリの除外設定
いわゆる、.clineignore、cursorignore に相当する Claude Code の除外設定は2025/4現在提供されていない。.claudeignore
ファイルのような構造は提案されているが、現状進展なし。
その代わりに $ claude config add ignorePatterns
コマンドを使用して除外パターンを設定することができる。例えば、node_modules
ディレクトリを除外するには以下のコマンドを使う。
$ claude config add ignorePatterns node_modules
これにより、Claude Code がコンテキストとして読み込むファイルから node_modules
ディレクトリが除外される。
設定した除外パターンは $ claude config ls
で確認可能。
{
...
"ignorePatterns": [
"node_modules"
]
}
起動オプション
インライン起動
Claude Code をインライン実行することができる。以下の Makefile
では書式設定の妥当性確認用のリンターとして使用している。
lint-ai-rules:
claude -p "あなたはリンターです。rules-bank/ディレクトリ以下のmdファイルがあなたや他のAIコーディングツールに渡す情報として適切かをコードベースと照らし合わせてよく考えて回答してください。"
CLIなので、パイプでデータを繋ぎこむこともできる。
$ cat build-error.txt | claude -p 'このビルドエラーの根本原因を簡潔に説明してください' > output.txt
YOLOモード
You Only Live Once mode
コマンド実行のパーミッションをスキップする場合は --dangerously-skip-permissions
オプション付きで起動する。
$ claude --dangerously-skip-permissions
ヘッドレス実行
インライン実行とYOLOモードを組み合わせることで、例えばCIのワークフローへの組み込みなどが容易となる。
ANTHROPIC_API_KEY
の環境変数でカスタムAPIキーをセットし、インライン実行する例:
$ export ANTHROPIC_API_KEY=sk_...
$ claude -p "最新の変更でREADMEを更新" --allowedTools "Bash(git diff:*)" "Bash(git log:*) Edit"
公式リポジトリでは、新しいIssueが登録されると Claude Code が検査し、適切なラベルを割り当てるような GitHub Actions のワークフローが構築されている。
その他
カスタムスラッシュコマンド
チームで共有したいようなカスタムコマンドを作成することができる。
このコードのパフォーマンスを分析し、具体的な最適化を提案してください。
カスタムコマンドの実行は/コマンドで呼び出すこと。補完が効くので特に迷うことはない。
$ claude
> /project:optimize
ちなみに、コマンドはサブディレクトリ毎に整理可能で、.claude/commands/frontend/components.md
は /project:frontend:component
に対応する。
MCP化した Claude Code への接続
Claude Code は MCP(Model Context Protocol)サーバーとして利用することが可能。例えば、Claude Desktop アプリから接続する場合には、以下のように設定ファイルを更新する。
{
"mcpServers": {
"claude_code": {
"command": "claude",
"args": ["mcp", "serve"],
"env": {}
}
}
}
CLIから利用できる Claude Code をデスクトップアプリから扱うのは遠回りのようだが、MCPサーバーとして動かすことで、API利用の従量課金を月額定額利用のDesktopアプリ版のClaudeで吸収することが可能となる。
つまり、Claude Code を定額利用するために、Desktopアプリを経由するということ。
まとめ
備忘を兼ねて Claude Code の使い方について簡単にまとめた。
今回紹介していない以下のような、MCPサーバー追加用のコマンドが用意されているので、それは後日試しながらまとめる。
- JSONファイルからMCPサーバーを追加する
- Claude Desktop からMCPサーバーをインポートする
また、CLIツールならではの使い方として、複数の Claude Code インスタンスを並列実行することも可能なので、具体のユースケースを追求しようと思う。
参考
Discussion