Claude CodeのTips

2026/01/08
高橋

こんにちは。株式会社リンクネット ソリューション事業部の高橋です。

弊社では一部の案件でClaude Codeを用いたvibeコーディングを試験的に行っております。 その中で、効果的だった設定や利用方法をご紹介します。


1. CLAUDE.mdによるプロジェクト設定

1.1 CLAUDE.mdとは

プロジェクトルートに配置する設定ファイルで、Claude Codeが自動的に読み込みます。

# スラッシュコマンドでCLAUDE.mdを作成する
/init

1.2 推奨構成

# CLAUDE.md

## プロジェクト概要
[プロジェクトの説明]

## 開発環境のセットアップ
[セットアップ手順]

## 一般的な開発コマンド
[よく使うコマンド一覧]

## プロジェクトアーキテクチャ
[技術スタック、ディレクトリ構造]

## コード品質と規約
[コーディング規約、Linter設定]

## 重要な注意事項
[プロジェクト固有のルール]

1.3 記載すべき内容

セクション 内容
技術スタック フレームワーク、言語、バージョン
ディレクトリ構造 主要ディレクトリの役割
命名規則 ファイル名、変数名、クラス名の規約
コーディング規約 PHP/TypeScriptの規約
テスト方針 テストフレームワーク、実行方法
禁止事項 やってはいけない操作(例:直接コミット禁止)

2. MCPサーバーの活用

2.1 Serena MCP(セマンティックコード解析・メモリ機能)

Serena MCPは、LLMをIDE並みの機能を持つコーディングエージェントに変える強力なツールキットです。 シンボルレベルでのコード理解、セマンティックな編集、プロジェクト固有のメモリ機能を提供します。

主な機能:

  • シンボルレベルでのコード検索・編集
  • プロジェクト構造の自動理解
  • .serena/memories/ にメモリファイルを保存し、セッション間でコンテキストを維持
  • トークン消費を最大70%削減(大規模プロジェクトで効果大)

2.1.1 前提条件:uvのインストール

Serenaは uv(Pythonパッケージマネージャー)で管理されています。

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# Homebrew (macOS)
brew install uv

インストール確認:

uv --version

2.1.2 Claude Codeへのインストール

# プロジェクトディレクトリで実行
claude mcp add serena -- uvx --from git+https://github.com/oraios/serena serena start-mcp-server --context ide-assistant --project $(pwd)

2.1.3 Onboarding(初回セットアップ)

Serenaを初めて使用する際は、Onboardingを実行してプロジェクトを理解させます。

依頼例:

Serenaのオンボーディングを開始してください

または英語で:

Start Serena onboarding

Onboardingで行われること:

  1. プロジェクト構造の解析
  2. 使用技術・フレームワークの特定
  3. .serena/memories/ にメモリファイル(.md)を生成
  4. .serena/project.yml に設定ファイルを生成

注意: Onboardingは多くのファイルを読み込むため、トークンを消費します。 トークン制限に注意してください。

Onboarding後、以下のディレクトリ構造が作成されます:

.serena/
├── memories/           # メモリファイル(Markdown形式)
│   ├── architecture.md    # アーキテクチャ情報
│   ├── technologies.md    # 使用技術
│   ├── conventions.md     # コーディング規約
│   └── ...               # その他のメモリ
├── cache/              # インデックスキャッシュ
│   └── typescript/
│       └── document_symbols_cache_*.pkl
└── project.yml         # プロジェクト設定

2.1.4 メモリファイルの活用

メモリの確認:

Serenaのメモリを表示してください

メモリの更新:

このプロジェクトでは認証にLaravel Breezeを使用していることをメモリに追加してください

メモリの削除:

古いメモリを削除してください

セッション間での活用: 新しい会話を開始した際に:

メモリを読み込んで、前回の作業を続けてください

2.1.5 Indexing(インデックス作成)

シンボル検索を高速化するため、インデックスを作成します。

依頼例:

プロジェクトのインデックスを作成してください

インデックスは .serena/cache/ に保存され、次回以降の検索が高速化されます。

2.1.6 主要ツール一覧

ツール 説明
find_symbol コードベース内のシンボルを検索
find_referencing_symbols シンボルの参照箇所を検索
get_symbol_documentation シンボルのドキュメントを取得
insert_after_symbol シンボルの後にコードを挿入
delete_lines 行範囲を削除
create_text_file ファイルを作成/上書き
execute_shell_command シェルコマンドを実行
read_memory メモリを読み込み
write_memory メモリを書き込み
delete_memory メモリを削除

2.1.7 安全な運用のための設定

.serena/project.yml で安全設定を行えます:

# 読み取り専用モードで開始(推奨)
read_only: true

# プロジェクト名
project_name: my-project

# 除外するツール
excluded_tools:
  - execute_shell_command  # シェルコマンド実行を無効化

2.1.8 ダッシュボードの確認

Serena起動時、ブラウザでダッシュボードが表示されます:

http://localhost:24282/dashboard/index.html

ダッシュボードでは以下が確認できます:

  • ツール実行ログ
  • エラー情報
  • 現在のプロジェクト状態

2.1.9 .gitignoreへの追加

Serenaのキャッシュとメモリはリポジトリに含めないことを推奨:

# Serena MCP
.serena/

※ チームで共有したい場合は、.serena/memories/ のみコミットする選択肢もあります。

2.2 Laravel Boost MCP

Laravel開発に特化したMCPサーバーで、以下の機能を提供します。

ツール 説明
search-docs バージョン固有のドキュメント検索
tinker PHPコードの実行・デバッグ
database-query データベースクエリの実行
browser-logs ブラウザログの読み取り
list-artisan-commands Artisanコマンド一覧表示
get-absolute-url 正確なURL生成

依頼例:

Inertia.js v2の遅延プロパティについてドキュメントを検索して説明してください

3. 基本的な活用法

3.1 エラーログの解析

# エラーログを確認してClaude Codeに解析を依頼
cat storage/logs/laravel.log | tail -100

依頼例:

このエラーログを解析して、問題点と修正案を提示してください:
[エラーログを貼り付け]

3.2 スラッシュコマンドの活用

コマンド 説明
/init 新規プロジェクトのCLAUDE.mdを自動生成
/compact 長い会話を要約してコンテキストを節約
/review コードレビューを依頼
/clear 会話履歴をクリア

4. 実践的な活用パターン

4.1 タスク分割と計画モード

複雑な機能追加時は、まず計画を立てさせてから実装に進むことで、手戻りを防ぎ効率的に開発できます。

依頼例:

週次発注機能に承認ワークフローを追加したい。
まず実装計画を立てて、必要なファイル一覧を示してください。

5. 効率的な依頼のコツ

5.1 良い依頼の例

✅ 具体的で明確
「PurchaseOrderControllerのindex()メソッドで、
 仕入先でフィルタリングできる機能を追加してください。
 既存のコードスタイルに従ってください。」

✅ コンテキストを提供
「現在、週次発注機能を開発中です。
 前回はモデルを作成しました。
 今回はコントローラーとビューを作成してください。」

✅ 段階的に依頼
「まず設計を確認させてください。
 その後、実装に進みます。」

5.2 避けるべき依頼の例

❌ 曖昧すぎる
「いい感じにしてください」

❌ 一度に多すぎる
「全機能を一度に実装してください」

❌ コンテキストなし
「バグを直して」
前の記事