Claude Code
5 分
Claude Codeのユーザーメモリと@importの使い分け完全ガイド
Claude Codeには2つの強力な設定管理機能があります。個人の作業スタイルを管理する「ユーザーメモリ」と、プロジェクト間で共有できる「@import」。これらを適切に使い分けることで、AI協働開発の効率が劇的に向上します。
Claude Code開発効率化AI協働設定管理
はじめに
Claude Codeを使った開発で、「毎回同じルールを説明するのが面倒」「チーム全体で統一されたルールを適用したい」と感じたことはありませんか?
- Claude Codeには、この問題を解決する2つの強力な機能があります:
- ユーザーメモリ(
~/.claude/CLAUDE.md
) - @import機能(プロジェクトごとの設定読み込み)
本記事では、これらの機能の違いと、効果的な使い分け方法を実例付きで解説します。
ユーザーメモリとは?
ユーザーメモリの概要
ユーザーメモリは、あなたの個人的な開発スタイルや作業ルールを記録する場所です。~/.claude/CLAUDE.md
に保存され、どのプロジェクトでも自動的に適用されます。
特徴
- 自動読み込み: 設定不要で全プロジェクトに適用 - プライベート: Gitにコミットされない個人設定 - 即時反映: 一箇所更新すれば全プロジェクトに反映 - 場所:~/.claude/CLAUDE.md
向いている内容
markdown
# ユーザーメモリに適した内容の例
## 作業管理ルール
- 「中締め」: ドキュメント更新 + 日報更新
- 「締め」: 中締め + git commit + push
## 個人的な開発スタイル
- 質問型AI協働の原則
- 4行以内での簡潔な回答を好む
- 絵文字は使わない
## 日報の書き方
- セッション管理のフォーマット
- 作業時間の記録方法
@import機能とは?
@import機能の概要
@import機能は、共有可能なルールセットを別ファイルから読み込む機能です。プロジェクトのCLAUDE.mdに記述して使用します。特徴
- 明示的: 必要なルールだけを選択的に読み込み - 共有可能: チーム全体で同じルールを使える - バージョン管理: Gitで履歴管理可能 - モジュラー: ルールを小さな単位で管理向いている内容
markdown
# @importに適した内容の例
## プロジェクトタイプ別設定
- SaaS共通設定
- ランディングページ設定
- ECサイト設定
## 技術的な規約
- コーディング規約
- セキュリティプラクティス
- Git運用ルール
## フレームワーク固有設定
- Next.js開発規約
- Vue.js開発規約
実践的な使い分け方法
理想的なディレクトリ構成
あなたの開発環境/
├── .claude/
│ └── CLAUDE.md # 個人的な作業スタイル
├── shared-rules/ # 共有ルールライブラリ
│ ├── saas-common.md # SaaS共通設定
│ ├── landing-page.md # LP共通設定
│ ├── ecommerce.md # EC共通設定
│ ├── nextjs-rules.md # Next.js規約
│ └── security.md # セキュリティ規約
└── projects/
├── project-a/
│ └── CLAUDE.md # @importでルールを組み合わせ
└── project-b/
└── CLAUDE.md
プロジェクトでの組み合わせ例
SaaSプロジェクトの場合
markdown
# project-a/CLAUDE.md
# SaaSプロジェクト設定
## 共通ルールの読み込み
@import ../../shared-rules/saas-common.md
@import ../../shared-rules/nextjs-rules.md
@import ../../shared-rules/security.md
## このプロジェクト固有の設定
- API認証: JWT
- デプロイ先: Vercel
- DB: PostgreSQL + Prisma
ランディングページの場合
markdown
# project-b/CLAUDE.md
# ランディングページ設定
## 共通ルールの読み込み
@import ../../shared-rules/landing-page.md
@import ../../shared-rules/nextjs-rules.md
## このプロジェクト固有の設定
- 静的生成のみ使用
- アニメーション: Framer Motion
- フォーム: Resend連携
使い分けの判断基準
ユーザーメモリを選ぶべき場合
- 個人的な作業習慣 - 「中締め」「締め」などの作業管理用語 - 日報の書き方 - AIへの質問スタイル
- どのプロジェクトでも使うルール - 簡潔な回答を求める設定 - エラー時の対応方法 - 個人的なコーディングスタイル
- 秘密にしたい情報 - 個人的なメモ - 特定クライアントの情報
@importを選ぶべき場合
- チームで共有すべきルール - コーディング規約 - Gitコミットメッセージ形式 - PRの作成ルール
- プロジェクトタイプ別の設定 - SaaS特有の設定 - LP特有の最適化ルール - EC特有のセキュリティ設定
- 技術スタック固有の設定 - フレームワーク別のベストプラクティス - ライブラリの使用規約 - デプロイ環境別の設定
実装のベストプラクティス
1. 階層的な構成
個人設定(ユーザーメモリ)
└── 共通技術設定(@import)
└── プロジェクトタイプ設定(@import)
└── プロジェクト固有設定(CLAUDE.md直接記述)
2. ルールの粒度
- 大きすぎず小さすぎず: 1ファイル1テーマ程度 - 再利用性を考慮: 他のプロジェクトでも使えるか - メンテナンス性: 更新頻度を考慮3. ネーミングルール
# 良い例
saas-common.md # 用途が明確
nextjs-rules.md # 技術が明確
security-practices.md # 内容が明確
# 避けるべき例
rules1.md # 内容が不明
misc.md # 範囲が不明確
temp.md # 一時的な印象
トラブルシューティング
Q: ユーザーメモリが反映されない
A: CLAUDEのメモリ機能が有効になっているか確認してください。また、ファイルパスが正しいか確認してください。Q: @importが機能しない
A: 相対パスが正しいか、ファイルが存在するか確認してください。../
の数に注意。
Q: ルールが競合する場合は?
A: 後から読み込まれたルールが優先されます。プロジェクト固有 > @import > ユーザーメモリの順。まとめ
Claude Codeのユーザーメモリと@import機能を適切に使い分けることで:
- 個人の生産性向上: よく使うルールを自動適用
- チームの一貫性: 共通ルールを簡単に共有
- メンテナンス性: ルールの更新が容易
- 柔軟性: プロジェクトごとに最適な設定
これらの機能を活用して、より効率的なAI協働開発を実現しましょう!