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連携

使い分けの判断基準

ユーザーメモリを選ぶべき場合

  1. 個人的な作業習慣
  2. - 「中締め」「締め」などの作業管理用語 - 日報の書き方 - AIへの質問スタイル
  1. どのプロジェクトでも使うルール
  2. - 簡潔な回答を求める設定 - エラー時の対応方法 - 個人的なコーディングスタイル
  1. 秘密にしたい情報
  2. - 個人的なメモ - 特定クライアントの情報

@importを選ぶべき場合

  1. チームで共有すべきルール
  2. - コーディング規約 - Gitコミットメッセージ形式 - PRの作成ルール
  1. プロジェクトタイプ別の設定
  2. - SaaS特有の設定 - LP特有の最適化ルール - EC特有のセキュリティ設定
  1. 技術スタック固有の設定
  2. - フレームワーク別のベストプラクティス - ライブラリの使用規約 - デプロイ環境別の設定

実装のベストプラクティス

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機能を適切に使い分けることで:

  1. 個人の生産性向上: よく使うルールを自動適用
  2. チームの一貫性: 共通ルールを簡単に共有
  3. メンテナンス性: ルールの更新が容易
  4. 柔軟性: プロジェクトごとに最適な設定

これらの機能を活用して、より効率的なAI協働開発を実現しましょう!

関連リソース