# SuperClaude Framework - Project Structure Understanding > **Critical Understanding**: このプロジェクトとインストール後の環境の関係 --- ## 🏗️ 2つの世界の区別 ### 1. このプロジェクト(Git管理・開発環境) **Location**: `~/github/SuperClaude_Framework/` **Role**: ソースコード・開発・テスト ``` SuperClaude_Framework/ ├── setup/ # インストーラーロジック │ ├── components/ # コンポーネント定義(何をインストールするか) │ ├── data/ # 設定データ(JSON/YAML) │ ├── cli/ # CLIインターフェース │ ├── utils/ # ユーティリティ関数 │ └── services/ # サービスロジック │ ├── superclaude/ # ランタイムロジック(実行時の動作) │ ├── core/ # コア機能 │ ├── modes/ # 行動モード │ ├── agents/ # エージェント定義 │ ├── mcp/ # MCPサーバー統合 │ └── commands/ # コマンド実装 │ ├── tests/ # テストコード ├── docs/ # 開発者向けドキュメント ├── pyproject.toml # Python設定 └── package.json # npm設定 ``` **Operations**: - ✅ ソースコード変更 - ✅ Git コミット・PR - ✅ テスト実行 - ✅ ドキュメント作成 - ✅ バージョン管理 --- ### 2. インストール後(ユーザー環境・Git管理外) **Location**: `~/.claude/` **Role**: 実際に動作する設定・コマンド(ユーザー環境) ``` ~/.claude/ ├── commands/ │ └── sc/ # スラッシュコマンド(インストール後) │ ├── pm.md │ ├── implement.md │ ├── test.md │ └── ... (26 commands) │ ├── CLAUDE.md # グローバル設定(インストール後) ├── *.md # モード定義(インストール後) │ ├── MODE_Brainstorming.md │ ├── MODE_Orchestration.md │ └── ... │ └── .claude.json # Claude Code設定 ``` **Operations**: - ✅ **読むだけ**(理解・確認用) - ✅ 動作確認 - ⚠️ テスト時のみ一時変更(**必ず元に戻す!**) - ❌ 永続的な変更禁止(Git追跡不可) --- ## 🔄 インストールフロー ### ユーザー操作 ```bash # 1. インストール pipx install SuperClaude # または npm install -g @bifrost_inc/superclaude # 2. セットアップ実行 SuperClaude install ``` ### 内部処理(setup/が実行) ```python # setup/components/*.py が実行される 1. ~/.claude/ ディレクトリ作成 2. commands/sc/ にスラッシュコマンド配置 3. CLAUDE.md と各種 *.md 配置 4. .claude.json 更新 5. MCPサーバー設定 ``` ### 結果 - **このプロジェクトのファイル** → **~/.claude/ にコピー** - ユーザーがClaude起動 → `~/.claude/` の設定が読み込まれる - `/sc:pm` 実行 → `~/.claude/commands/sc/pm.md` が展開される --- ## 📝 開発ワークフロー ### ❌ 間違った方法 ```bash # Git管理外を直接変更 vim ~/.claude/commands/sc/pm.md # ← ダメ!履歴追えない # 変更テスト claude # 動作確認 # 変更が ~/.claude/ に残る # → 元に戻すの忘れる # → 設定がぐちゃぐちゃになる # → Gitで追跡できない ``` ### ✅ 正しい方法 #### Step 1: 既存実装を理解 ```bash cd ~/github/SuperClaude_Framework # インストールロジック確認 Read setup/components/commands.py # コマンドのインストール方法 Read setup/components/modes.py # モードのインストール方法 Read setup/data/commands.json # コマンド定義データ # インストール後の状態確認(理解のため) ls ~/.claude/commands/sc/ cat ~/.claude/commands/sc/pm.md # 現在の仕様確認 # 「なるほど、setup/components/commands.py でこう処理されて、 # ~/.claude/commands/sc/ に配置されるのね」 ``` #### Step 2: 改善案をドキュメント化 ```bash cd ~/github/SuperClaude_Framework # Git管理されているこのプロジェクト内で Write docs/Development/hypothesis-pm-improvement-YYYY-MM-DD.md # 内容例: # - 現状の問題 # - 改善案 # - 実装方針 # - 期待される効果 ``` #### Step 3: テストが必要な場合 ```bash # バックアップ作成(必須!) cp ~/.claude/commands/sc/pm.md ~/.claude/commands/sc/pm.md.backup # 実験的変更 vim ~/.claude/commands/sc/pm.md # Claude起動して検証 claude # ... 動作確認 ... # テスト完了後、必ず復元!! mv ~/.claude/commands/sc/pm.md.backup ~/.claude/commands/sc/pm.md ``` #### Step 4: 本実装 ```bash cd ~/github/SuperClaude_Framework # ソースコード側で変更 Edit setup/components/commands.py # インストールロジック修正 Edit setup/data/commands/pm.md # コマンド仕様修正 # テスト追加 Write tests/test_pm_command.py # テスト実行 pytest tests/test_pm_command.py -v # コミット(Git履歴に残る) git add setup/ tests/ git commit -m "feat: enhance PM command with autonomous workflow" ``` #### Step 5: 動作確認 ```bash # 開発版インストール cd ~/github/SuperClaude_Framework pip install -e . # または SuperClaude install --dev # 実際の環境でテスト claude /sc:pm "test request" ``` --- ## 🎯 重要なルール ### Rule 1: Git管理の境界を守る - **変更**: このプロジェクト内のみ - **確認**: `~/.claude/` は読むだけ - **テスト**: バックアップ → 変更 → 復元 ### Rule 2: テスト時は必ず復元 ```bash # テスト前 cp original backup # テスト # ... 実験 ... # テスト後(必須!) mv backup original ``` ### Rule 3: ドキュメント駆動開発 1. 理解 → docs/Development/ に記録 2. 仮説 → docs/Development/hypothesis-*.md 3. 実験 → docs/Development/experiment-*.md 4. 成功 → docs/patterns/ 5. 失敗 → docs/mistakes/ --- ## 📚 理解すべきファイル ### インストーラー側(setup/) ```python # 優先度: 高 setup/components/commands.py # コマンドインストール setup/components/modes.py # モードインストール setup/components/agents.py # エージェント定義 setup/data/commands/*.md # コマンド仕様(ソース) setup/data/modes/*.md # モード仕様(ソース) # これらが ~/.claude/ に配置される ``` ### ランタイム側(superclaude/) ```python # 優先度: 中 superclaude/__main__.py # CLIエントリーポイント superclaude/core/ # コア機能実装 superclaude/agents/ # エージェントロジック ``` ### インストール後(~/.claude/) ```markdown # 優先度: 理解のため(変更不可) ~/.claude/commands/sc/pm.md # 実際に動くPM仕様 ~/.claude/MODE_*.md # 実際に動くモード仕様 ~/.claude/CLAUDE.md # 実際に読み込まれるグローバル設定 ``` --- ## 🔍 デバッグ方法 ### インストール確認 ```bash # インストール済みコンポーネント確認 SuperClaude install --list-components # インストール先確認 ls -la ~/.claude/commands/sc/ ls -la ~/.claude/*.md ``` ### 動作確認 ```bash # Claude起動 claude # コマンド実行 /sc:pm "test" # ログ確認(必要に応じて) tail -f ~/.claude/logs/*.log ``` ### トラブルシューティング ```bash # 設定が壊れた場合 SuperClaude install --force # 再インストール # 開発版に切り替え cd ~/github/SuperClaude_Framework pip install -e . # 本番版に戻す pip uninstall superclaude pipx install SuperClaude ``` --- ## 💡 よくある間違い ### 間違い1: Git管理外を変更 ```bash # ❌ WRONG vim ~/.claude/commands/sc/pm.md git add ~/.claude/ # ← できない!Git管理外 ``` ### 間違い2: バックアップなしテスト ```bash # ❌ WRONG vim ~/.claude/commands/sc/pm.md # テスト... # 元に戻すの忘れる → 設定ぐちゃぐちゃ ``` ### 間違い3: ソース確認せずに変更 ```bash # ❌ WRONG 「PMモード直したい」 → いきなり ~/.claude/ 変更 → ソースコード理解してない → 再インストールで上書きされる ``` ### 正解 ```bash # ✅ CORRECT 1. setup/components/ でロジック理解 2. docs/Development/ に改善案記録 3. setup/ 側で変更・テスト 4. Git コミット 5. SuperClaude install --dev で動作確認 ``` --- ## 🚀 次のステップ このドキュメント理解後: 1. **setup/components/ 読解** - インストールロジックの理解 - どこに何が配置されるか 2. **既存仕様の把握** - `~/.claude/commands/sc/pm.md` 確認(読むだけ) - 現在の動作理解 3. **改善提案作成** - `docs/Development/hypothesis-*.md` 作成 - ユーザーレビュー 4. **実装・テスト** - `setup/` 側で変更 - `tests/` でテスト追加 - Git管理下で開発 これで**何百回も同じ説明をしなくて済む**ようになる。