"Claude Code" を始めよう。
はじめに
せっかくなので、Claude Codeを始めたばかりの初心者として、
Claude Codeでとりあえずやったことをこの記事で残していこうと思います。
事前情報
僕は、MAXプラン($100) でClaude Codeを利用しています。
元々Proプランを利用していたのですが、Claude Codeの登場でMAXプランへの移行を決断しました。
どうせ毎日使用するので、MAXプラン($100)即決でした。 MAXプラン($200)は保留です。
結論
まずは、公式ドキュメント を読もう📖
Claude Codeは、公式ドキュメントが丁寧にまとめられていて読むのが苦痛ではありません!
LLMにdocsのurlを投げて解説してもらったり、NotebookLMなどを活用するのもアリだと思います!(便利な時代です)
公式:Claude Code概要
公式チュートリアル
公式が出してるエージェントコーディングのベストプラクティス
セットアップ
- Claude Codeをインストール
npm install -g @anthropic-ai/claude-code
- Claude Codeを利用したいプロジェクトに移動
cd your-project-directory
- Claude Codeを起動
claude
- 認証を完了
基本的なセットアップは以上です!
セキュリティ設計
Claude系は 暴れん坊 なとこがあるので、、、
LLMがどんだけ賢くても "過信" のしすぎは危ないです。
全部任せるのではなく、必要な箇所は人間がちゃんと見守ってあげましょう😀
~/.claude/settings.local.json に以下のように書く。
{
"permissions": {
"allow": [],
"deny": [
"Bash(sudo:*)",
"Bash(rm:*)",
"Bash(rm -rf:*)",
"Bash(git push:*)",
"Bash(git commit:*)",
"Bash(git reset:*)",
"Bash(git rebase:*)",
"Bash(git checkout:*)",
"Bash(git switch:*)",
"Read(.env.*)",
"Read(id_rsa)",
"Read(id_ed25519)",
"Read(**/*token*)",
"Read(**/*key*)",
"Write(.env*)",
"Write(**/secrets/**)",
"Bash(curl:*)",
"Bash(wget:*)",
"Bash(nc:*)",
"Bash(npm uninstall:*)",
"Bash(npm remove:*)",
"Bash(psql:*)",
"Bash(mysql:*)",
"Bash(mongod:*)",
"mcp__supabase__execute_sql"
]
}
}
permissions.allowとpermissions.denyは権限ルールのリストです。
permissions.allow:ツール呼び出しの 許可設定
permissions.deny:ツール呼び出しの 拒否設定
参考にさせていただいた記事
スラッシュコマンド
Claude Codeではデフォルトで様々なスラッシュコマンドが用意されています。
| コマンド | 目的 |
|---|---|
| /bug | バグを報告(会話をAnthropicに送信) |
| /clear | 会話履歴をクリア |
| /compact [instructions] | オプションのフォーカス指示で会話をコンパクト化 |
| /config | 設定の表示/変更 |
| /cost | トークン使用統計を表示 |
| /doctor | Claude Code インストールの健全性をチェック |
| /help | 使用方法のヘルプを取得 |
| /init | CLAUDE.md ガイドでプロジェクトを初期化 |
| /login | Anthropic アカウントを切り替え |
| /logout | Anthropic アカウントからサインアウト |
| /mcp | MCP サーバー接続と OAuth 認証を管理 |
| /memory | CLAUDE.md メモリファイルを編集 |
| /model | AI モデルを選択または変更 |
| /permissions | 権限を表示または更新 |
| /pr_comments | プルリクエストコメントを表示 |
| /review | コードレビューをリクエスト |
| /status | アカウントとシステムのステータスを表示 |
| /terminal-setup | 改行用の Shift+Enter キーバインドをインストール(iTerm2 と VSCode のみ) |
| /vim | 挿入モードとコマンドモードを交互に切り替える vim モードに入る |
また、Claude Codeでは カスタムスラッシュコマンド 機能が用意されています。
上記で紹介したデフォルトコマンドの指示以外に、カスタムスラッシュコマンドを使用することで、カスタマイズした指示をClaude Codeに与えることが出来ます。
カスタムスラッシュコマンドの作成方法
カスタムスラッシュコマンドの作成は以下のようにします。
****.mdがカスタムスラッシュコマンドのファイルになります。
.claude/commands/****.md
例えば、技術ブログ記事を自動生成するカスタムスラッシュコマンド の場合、以下のようなファイル名が考えられます。
.claude/commands/blog-writing.md
カスタムスラッシュコマンドでMCPサーバーを呼び出す
Claude CodeにMCPサーバーを確実に利用してもらうために、以下のような簡易的なカスタムスラッシュコマンドを作成してみました。
# /mcp-context7 - Context7 MCPサーバーを使用したタスク実行コマンド
タスクを "Context7 MCPサーバー" を使用して実行するためのコマンドです。
## 使用方法
このコマンドをユーザーが実行した場合、まずユーザーに対して、"Context7 MCPサーバーを使用してタスク進行します!" と叫び、Context7 MCPサーバーでユーザーから指示されたタスクを完了するようにしてください。
Claude CodeがMCPサーバーをちゃんと利用してくれるかテストします。

ちゃんとMCPサーバーを利用して回答してくれました!
(※最新安定版:v15.3.5は正しいですが、最新Canary版はv15.4.0-canary.127(2025/07/12時点)なので、この辺はファクトチェックするといいかもです。それかプロンプトに日時を加えたりして工夫したら多分答えてくれます。)
公式
Claude Codeとの会話ログを可視化


以下のツールを利用すると、Claude Codeとの会話ログを上記のように可視化できるようになります!
Claude Codeとの実装ログを管理する
開発中の実装ログを残すことで、Claude Codeは過去のやり取りや設計意図を常に参照でき、あたかも記憶しているかのように振る舞います。
CLAUDE.md に以下のように書いてみました!
## 実装ログ運用ルール
- このプロジェクトでは、全ての実装ログが `_docs/templates/` に `yyyy-mm-dd_機能名.md` という形式で保存されています。起動時には必ず必ず必ず `_docs/` 配下をコンテキストとして全て読み込んでおき、前回の設計意図や副作用を踏まえた上で提案するようにしてください。(起動時にまだ `_docs/templates/` が存在しなかったら `_docs/templates/` を作成してから実装を開始して、 `_docs/templates/yyyy-mm-dd_機能名.md` というファイル名で実装ログが必ず必ず必ず残るようにすること)
- 実装が完了したら、`_docs/templates/yyyy-mm-dd_機能名.md` というファイル名で実装ログを残すこと。機能名が複数単語の場合はケバブケースを使用するように。(例:yyyy-mm-dd_product-name.md)
- 実装ログの「日付」欄は **TIME MCP Server** で取得した日時、またはユーザ環境の `now` エイリアス(`date "+%Y-%m-%d %H:%M:%S"`)の出力を使用すること。エイリアスが未設定の場合は `.zshrc` 等に `alias now='date "+%Y-%m-%d %H:%M:%S"'` を追加しておく。
- 実装ログに含める項目: 実装の目的・背景 / 主な実装内容 / 設計意図 / 副作用 / 関連ファイル
### 実装ログのテンプレート例:
```md
機能名: <ここに機能名>
- 日付: yyyy-mm-dd HH:MM:SS
- 概要: <実装の目的・背景>
- 実装内容: <主な実装内容>
- 設計意図: <なぜこの設計にしたのか>
- 副作用: <懸念事項があれば明記>
- 関連ファイル: <ファイルの場所>
```
参考にさせていただいた記事
"think", "ultrathink"
Claude Codeは use think, use ultrathink といった指示をすることで、通常より長く考えるモード(拡張思考モード)を起動し、より綿密に代替案を評価してくれるようになります。
拡張思考モードには以下の段階があります。
think < think hard < think harder < ultrathink
公式が出してる "Claude Code: Best practices for agentic coding" に記載があります!

常に ultrathink させる方法も面白そうです!
公式
Hooks
Hooksとは?
- Claude Code(CC)に任意のシェルコマンドを紐づけて実行できる仕組みのこと
つまり、特定の条件でコマンドを確実に実行できる機能です。
CLAUDE.md に書いていた指示を、必要に応じてHooksに登録すると良さそうですね!
公式引用(翻訳)
Claude Code フックは、Claude Code のライフサイクルのさまざまなタイミングで実行されるユーザー定義のシェルコマンドです。フックを使うと、LLM がコマンドを実行するかどうかに依存せず、必ず実行される確定的な制御を Claude Code に与えられます。
例としては次のようなものがあります。
- 通知: Claude Code が入力待ちやコマンド実行の許可を求めているときに、独自の通知方法を実装する
- 自動フォーマット: すべてのファイル編集後に .ts は prettier、.go は gofmt のように実行する
- ログ取得: コンプライアンスやデバッグのため、実行されたすべてのコマンドを追跡・集計する
- フィードバック: Claude Code がコードベースの規約に従わないコードを生成した場合に自動でフィードバックを返す
- カスタム権限: 本番ファイルや機密ディレクトリの変更をブロックする
これらのルールをプロンプト指示ではなくフックとしてコード化することで、「提案」ではなく「アプリレベルのコード」として毎回確実に実行させることができます。
公式
Claude CodeにMCPサーバーを設定する
Claude Codeは、MCPサーバーを設定できます。
とりあえず設定してみたMCPサーバーは以下です。
Context7(最新の公式ドキュメント情報を取得)
OSSライブラリのバージョンが上がることで、LLMが持っているドキュメントやライブラリ情報は古いものになっていきます。この問題を解決するために有効なのが Context7 です。
Context7は、最新の公式ドキュメント情報を提供してくれるため、LLMは最新のドキュメントやライブラリ情報に基づいてタスク実行をしてくれるようになります。
Brave-Search(Web検索)
Brave-Searchは「Web検索(= 外部のBrave Search APIを用いた検索リクエスト)」専用のMCPサーバーとして機能します。
要するに Web検索用のMCPサーバー です。
GitMCP
GitMCPは、publicなGitHubリポジトリのMCPサーバーを自動で作成するサービスです。AIアシスタントがリポジトリのコードやドキュメントを深く理解するのを助け、より文脈に沿った正確な応答を生成できるようになります。
DeepWiki MCP
DeepWiki MCPは、DeepWikiに索引付けされたGitHubリポジトリのドキュメントに対して、質問応答やコンテンツの読み取りといった機能を提供します。リポジトリに関する情報を対話的に取得するのに役立ちます。
他にも便利なMCPサーバーは沢山存在すると思うので、見つけ次第設定して試したりしたいと思います!
CC使用量解析ツール
ccusage というツールを使用することで、Claude Codeのトークン使用量とコストを可視化できます。
npx ccusage@latest というコマンド一発で確認出来ます。

Puppeteer MCPサーバー(ブラウザ自動化)
Puppeteer MCPサーバーを使用することで、Claude Codeがブラウザ操作ツールを使用してくれるようになります。
- Webページの自動操作
- ページのスクショ
- UI検証
などに活用できます!また、MAXプランなら定額でやれます。
公式のベストプラクティスにもPuppetter MCPの使い方について記載されています!
参考にさせていただいたポスト
Git worktree
"Git worktree" とは、
1つのGitリポジトリから、複数の作業ディレクトリを作成できる機能 です。
複数のブランチで並行開発したい時に便利な機能です。
主な特徴:
- 同じリポジトリの異なるブランチを同時に開ける
- ブランチ切り替えなしで複数の作業が可能
- .gitディレクトリは共有される
公式でも、Git Worktreeを使用した並列セッションが推奨されています。

以下の記事が分かりやすく解説されているのでオススメです!
まとめ
Claude Codeの理解を深めるため、とりあえずやったことを記事にしました!
CC(Claude Code)関連で何かやって便利だなと思ったことなど、またこちらの記事に追記したいと思います!
-
ツールポイズニング(tool poisoning):AIが外部ツール(MCPサーバーなど)を呼び出す際、そのツール側(MCPサーバー)が 意図的または偶発的に不正・誤情報・悪意あるコードを返し、AIの出力やユーザー環境に悪影響を与えてしまうリスク全般のこと。 ↩︎
Discussion