• #Claude Code
  • #VSCode
  • #設定管理
開発メモ

Claude Codeの.claude設定をユーザーレベルとプロジェクトレベルに分離する

結論

Claude Codeの.claudeディレクトリは以下のように分離して管理するのがよい。

レベル場所内容
ユーザーレベル~/.claude/全プロジェクト共通のスキル・コマンド
プロジェクトレベル{project}/.claude/そのプロジェクト固有のスキル・コマンド

VSCodeのマルチルートワークスペースを使えば両方を同じエクスプローラーで編集できる。

問題:ジャンクションで共有すると固有コマンドが混在する

当初mdx-playgroundの.claudeをジャンクション(シンボリックリンク)でtax-assistantに共有していた。

mdx-playground/.claude/  ← 本体
tax-assistant/.claude/   ← ジャンクション(リンク)

この構成の問題点:

  • /import-receipts/validate-receiptsのようなtax-assistant固有のコマンドがmdx-playground側にも登録される
  • honda-sakubunのような共通スキルとプロジェクト固有のものが混在する
  • どのプロジェクトからも全てのコマンドが見えてしまう

解決策:ユーザーレベルとプロジェクトレベルに分離

推奨構成

~/.claude/                    # ユーザーレベル(別途git管理)
├── commands/
│   └── md-make.md           # 全プロジェクト共通
├── skills/
│   ├── honda-sakubun/       # 全プロジェクト共通
│   └── agent-memory/        # 全プロジェクト共通
└── settings.json

tax-assistant/.claude/        # プロジェクト固有
├── commands/
│   ├── import-receipts.md   # このプロジェクト専用
│   └── validate-receipts.md
├── skills/
│   └── tax-strategy/        # このプロジェクト専用
└── settings.local.json

ユーザーレベルのgit管理

~/.claudeも独立したgitリポジトリとして管理できる。

cd ~/.claude
git init
git remote add origin [email protected]:username/dotclaude.git

VSCodeで両方を表示する

.code-workspaceファイルを作成すればユーザーレベルとプロジェクトレベル両方をエクスプローラーに表示できる。

{
  "folders": [
    { "path": "." },
    { "path": "C:/Users/numbe/.claude", "name": "User .claude" }
  ]
}

これにより:

  • プロジェクト内でユーザーレベルの設定も編集できる
  • 編集履歴がプロジェクト内で確認できる(コミットは~/.claudeリポジトリに行う)
  • ディレクトリ名は同じ.claudeだが「User .claude」と表示名を変えられる

分離の判断基準

種類配置先
全プロジェクトで使うユーザーレベルhonda-sakubun, md-make, agent-memory
特定プロジェクトでしか使わないプロジェクトレベルimport-receipts, validate-receipts
技術スタック固有プロジェクトレベルnuxt-content用スキル等

具体的な分類一覧

Commands(コマンド)

Usermdx-playgroundtax-assistant
md-make.mdnew-article.mdimport-receipts.md
book-to-skill.mdupdate-frontmatter.mdvalidate-receipts.md
review-book-to-skill.md
refactor.md
rename-pdf.md

Skills(スキル)

Usermdx-playgroundtax-assistant
agent-memory/data-generation/(今後追加)
content-management/deployment/
honda-sakubun/qa-verification/
summarization-technique/testing/
drawio/vue-pages/
solo-ceo-tax-optimization/
tax-strategy-for-sme/

Agents(エージェント)

Usermdx-playgroundtax-assistant
file-editor.md

Rules(ルール)

Usermdx-playgroundtax-assistant
windows.mdarchitecture.md(今後追加)
issue-tracking.md

その他

Usermdx-playgroundtax-assistant
settings.jsonsettings.local.jsonsettings.local.json
issues/issues/

まとめ

  • ジャンクションによる共有は固有コマンドの混在を招く
  • ユーザーレベル(~/.claude)とプロジェクトレベルに分離するのが正解
  • VSCodeのマルチルートワークスペースで両方を同時に編集できる
  • ユーザーレベルも独立したgitリポジトリで管理可能