mirror of
https://github.com/SuperClaude-Org/SuperClaude_Framework.git
synced 2025-12-17 17:56:46 +00:00
464 lines
14 KiB
Markdown
464 lines
14 KiB
Markdown
|
|
# SuperClaude Framework - Planning & Architecture
|
|||
|
|
|
|||
|
|
## 📋 プロジェクト概要
|
|||
|
|
|
|||
|
|
### 目的
|
|||
|
|
Claude Codeを構造化された開発プラットフォームに変換するメタプログラミング設定フレームワーク。行動命令注入とコンポーネントオーケストレーションにより、体系的なワークフロー自動化を実現。
|
|||
|
|
|
|||
|
|
### 背景
|
|||
|
|
- LLMベースの開発支援ツールは強力だが、一貫性のある振る舞いの実現が困難
|
|||
|
|
- プロジェクトごとに開発ルールを再説明するコストが高い
|
|||
|
|
- エージェント、モード、MCPサーバーを統合した統一フレームワークの必要性
|
|||
|
|
|
|||
|
|
### 成果物
|
|||
|
|
- 26 スラッシュコマンド
|
|||
|
|
- 16 専門エージェント
|
|||
|
|
- 7 動作モード
|
|||
|
|
- 8 MCP サーバー統合
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🏗️ アーキテクチャ
|
|||
|
|
|
|||
|
|
### コアコンポーネント
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
SuperClaude Framework
|
|||
|
|
├── Modes(動作モード) - 文脈に応じた振る舞い変更
|
|||
|
|
├── Agents(専門エージェント) - ドメイン特化型タスク実行
|
|||
|
|
├── Commands(スラッシュコマンド) - ユーザーインターフェース
|
|||
|
|
└── MCP Servers(外部統合) - 外部ツール連携
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### レイヤー構造
|
|||
|
|
|
|||
|
|
| レイヤー | 責務 | 実装場所 |
|
|||
|
|
|---------|------|---------|
|
|||
|
|
| **Entry Point** | Claude Code統合ポイント | `.claude/CLAUDE.md` |
|
|||
|
|
| **Framework Core** | 原則・ルール・フラグ | `superclaude/framework/` |
|
|||
|
|
| **Behavioral Modes** | 動作モード定義 | `superclaude/modes/` |
|
|||
|
|
| **Specialized Agents** | エージェント実装 | `superclaude/agents/` |
|
|||
|
|
| **Commands** | コマンド定義 | `superclaude/commands/` |
|
|||
|
|
| **MCP Integration** | 外部ツール連携 | 設定ファイル |
|
|||
|
|
| **Installation** | セットアップロジック | `setup/` |
|
|||
|
|
|
|||
|
|
### PM Agent(メタレイヤー)
|
|||
|
|
- **役割**: 実行ではなく調整・学習・ドキュメント化
|
|||
|
|
- **起動タイミング**: セッション開始、タスク完了、エラー検出
|
|||
|
|
- **責務**:
|
|||
|
|
- セッション開始プロトコル(状態確認、トークン計算、信頼性チェック)
|
|||
|
|
- 実行後の知見抽出とドキュメント化
|
|||
|
|
- 失敗パターンの分析と予防策作成
|
|||
|
|
- 定期的なドキュメントメンテナンス
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📁 ディレクトリ構成
|
|||
|
|
|
|||
|
|
### ルートレベル(重要ドキュメント)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
/
|
|||
|
|
├── README.md # プロジェクト概要、インストール、使い方
|
|||
|
|
├── PLANNING.md # このファイル:アーキテクチャ、設計思想、開発ルール
|
|||
|
|
├── TASK.md # タスクリスト(継続更新)
|
|||
|
|
├── KNOWLEDGE.md # 蓄積された知見(学習内容)
|
|||
|
|
├── CONTRIBUTING.md # コントリビューションガイド
|
|||
|
|
└── LICENSE # MITライセンス
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### ソースコード構成
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
superclaude/
|
|||
|
|
├── framework/ # フレームワークコア
|
|||
|
|
│ ├── principles.md # 設計原則(SOLID, DRY, KISS等)
|
|||
|
|
│ ├── rules.md # 行動ルール(優先度付き)
|
|||
|
|
│ └── flags.md # 動作フラグ定義
|
|||
|
|
├── modes/ # 動作モード
|
|||
|
|
│ ├── MODE_Brainstorming.md
|
|||
|
|
│ ├── MODE_DeepResearch.md
|
|||
|
|
│ ├── MODE_Orchestration.md
|
|||
|
|
│ ├── MODE_Token_Efficiency.md
|
|||
|
|
│ └── ...
|
|||
|
|
├── agents/ # 専門エージェント
|
|||
|
|
│ ├── pm-agent/ # PM Agent(メタレイヤー)
|
|||
|
|
│ ├── deep-research-agent/
|
|||
|
|
│ ├── security-engineer/
|
|||
|
|
│ └── ...
|
|||
|
|
├── commands/ # スラッシュコマンド
|
|||
|
|
│ └── sc/ # /sc: プレフィックス付きコマンド
|
|||
|
|
├── business/ # ビジネス領域リソース
|
|||
|
|
├── research/ # リサーチ設定
|
|||
|
|
└── modules/ # 再利用可能モジュール
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 開発・テスト
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
setup/ # インストールスクリプト
|
|||
|
|
├── cli/ # CLIコマンド
|
|||
|
|
├── components/ # セットアップコンポーネント
|
|||
|
|
├── core/ # コアロジック
|
|||
|
|
└── services/ # サービス層
|
|||
|
|
|
|||
|
|
tests/ # テストスイート
|
|||
|
|
├── performance/ # パフォーマンステスト
|
|||
|
|
└── pm_agent/ # PM Agentテスト
|
|||
|
|
|
|||
|
|
docs/ # ドキュメント
|
|||
|
|
├── getting-started/ # 入門ガイド
|
|||
|
|
├── user-guide/ # ユーザーガイド
|
|||
|
|
├── developer-guide/ # 開発者ガイド
|
|||
|
|
├── reference/ # リファレンス
|
|||
|
|
└── memory/ # セッションメモリ(一時ファイル)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 💻 技術スタック
|
|||
|
|
|
|||
|
|
### 開発言語
|
|||
|
|
- **Python**: 3.12+ (UV必須、Mac汚染禁止)
|
|||
|
|
- **Node.js**: 24 (Mac Brewインストール済み、それ以外コンテナ)
|
|||
|
|
- **Shell**: Bash(セットアップスクリプト)
|
|||
|
|
|
|||
|
|
### パッケージ管理
|
|||
|
|
- **Python**: UV(仮想環境管理)
|
|||
|
|
- **Node.js**: pnpm(npm/yarn禁止)
|
|||
|
|
|
|||
|
|
### 配布
|
|||
|
|
- **PyPI**: `pipx install SuperClaude`(推奨)
|
|||
|
|
- **npm**: `npm install -g @bifrost_inc/superclaude`
|
|||
|
|
|
|||
|
|
### MCP サーバー統合
|
|||
|
|
| サーバー | 用途 | 優先度 |
|
|||
|
|
|---------|------|-------|
|
|||
|
|
| **Context7** | 最新ドキュメント参照 | 高 |
|
|||
|
|
| **Sequential** | 複雑な分析・推論 | 高 |
|
|||
|
|
| **Tavily** | Web検索(Deep Research) | 高 |
|
|||
|
|
| **Magic** | UI コンポーネント生成 | 中 |
|
|||
|
|
| **Playwright** | ブラウザテスト | 中 |
|
|||
|
|
| **Serena** | セッション永続化 | 中 |
|
|||
|
|
| **Morphllm** | 一括コード変換 | 低 |
|
|||
|
|
| **Chrome DevTools** | パフォーマンス分析 | 低 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚨 絶対守る開発ルール
|
|||
|
|
|
|||
|
|
### 1. Evidence-Based Principle(最優先)
|
|||
|
|
```yaml
|
|||
|
|
Rule: 嘘・推測・仮定は絶対禁止
|
|||
|
|
Action:
|
|||
|
|
- 知識不足の場合: Context7/Tavily で調査
|
|||
|
|
- インフラ変更: 公式ドキュメント確認必須
|
|||
|
|
- エラー発生: エラーメッセージで検索
|
|||
|
|
Evidence: 推測によるTraefikポート設定ミスの前例あり
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. Parallel Execution Default
|
|||
|
|
```yaml
|
|||
|
|
Rule: 並列実行をデフォルト、Sequential は依存関係のみ
|
|||
|
|
Trigger: 独立した3つ以上の操作
|
|||
|
|
Action:
|
|||
|
|
- ファイル読み込み: 並列Read
|
|||
|
|
- 検索操作: 並列Grep/Glob
|
|||
|
|
- 分析タスク: 並列Agent起動
|
|||
|
|
Exception: 明示的な依存関係がある場合のみSequential
|
|||
|
|
Evidence: PM Agent並列実行仕様違反の前例あり
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. Infrastructure Safety
|
|||
|
|
```yaml
|
|||
|
|
Rule: インフラ設定変更時は必ず公式ドキュメント確認
|
|||
|
|
Trigger: Traefik, nginx, Docker, Kubernetes等の設定変更
|
|||
|
|
Action:
|
|||
|
|
- WebFetch で公式ドキュメント取得
|
|||
|
|
- MODE_DeepResearch 起動
|
|||
|
|
- 推測ベースの変更をブロック
|
|||
|
|
Rationale: 設定ミスは本番障害に直結
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. Mac Environment Protection
|
|||
|
|
```yaml
|
|||
|
|
Rule: Macホスト環境を汚染しない
|
|||
|
|
Allowed on Mac:
|
|||
|
|
- Brew CLIツール(docker, gh, uv等)
|
|||
|
|
- XDG準拠の設定ファイル(~/.config/)
|
|||
|
|
- キャッシュ(~/.cache/、削除可能)
|
|||
|
|
Forbidden on Mac:
|
|||
|
|
- pnpm/npm/yarn install(必ずDocker内)
|
|||
|
|
- Python pip install(UV仮想環境必須)
|
|||
|
|
- 依存関係のグローバルインストール
|
|||
|
|
Method: 全てDocker/Containerに閉じ込める
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 5. Latest Information Validation
|
|||
|
|
```yaml
|
|||
|
|
Rule: 知識は1年以上古い前提で、常に最新情報を確認
|
|||
|
|
Action:
|
|||
|
|
- ライブラリ/フレームワーク: Context7で最新版確認
|
|||
|
|
- ベストプラクティス: Tavily/WebSearchで2025年の情報
|
|||
|
|
- エラー解決: 最新のStack Overflow/GitHub Issues
|
|||
|
|
Frequency: タスク開始時、実装前、エラー発生時
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 6. Implementation Completeness
|
|||
|
|
```yaml
|
|||
|
|
Rule: 開始したら完成させる、半完成は禁止
|
|||
|
|
Forbidden:
|
|||
|
|
- TODO コメント(コア機能)
|
|||
|
|
- throw new Error("Not implemented")
|
|||
|
|
- モックオブジェクト・スタブ実装
|
|||
|
|
- プレースホルダー
|
|||
|
|
Required: 動作するコードのみ
|
|||
|
|
Exception: 明示的に「MVP」「Prototype」と宣言された場合のみ
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 7. Scope Discipline
|
|||
|
|
```yaml
|
|||
|
|
Rule: 要求された機能のみ実装、余計な機能追加禁止
|
|||
|
|
Approach: MVP First → フィードバック → 反復改善
|
|||
|
|
Forbidden:
|
|||
|
|
- 認証システム(要求されていない)
|
|||
|
|
- デプロイ設定(要求されていない)
|
|||
|
|
- モニタリング(要求されていない)
|
|||
|
|
- エンタープライズ機能(要求されていない)
|
|||
|
|
Principle: YAGNI(You Aren't Gonna Need It)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 8. Professional Honesty
|
|||
|
|
```yaml
|
|||
|
|
Rule: マーケティング言語禁止、事実のみ記述
|
|||
|
|
Forbidden:
|
|||
|
|
- "blazingly fast", "100% secure"
|
|||
|
|
- "magnificent", "excellent"
|
|||
|
|
- 根拠のない数値("95% faster"等)
|
|||
|
|
Required:
|
|||
|
|
- "untested", "MVP", "needs validation"
|
|||
|
|
- トレードオフの明示
|
|||
|
|
- 問題点の指摘
|
|||
|
|
Tone: 技術的・客観的・批判的
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 9. Git Workflow Safety
|
|||
|
|
```yaml
|
|||
|
|
Rule: 常にFeature Branchで作業、main/master直接編集禁止
|
|||
|
|
Protocol:
|
|||
|
|
1. git status && git branch(セッション開始時必須)
|
|||
|
|
2. git checkout -b feature/xxx(新機能)
|
|||
|
|
3. 頻繁にコミット(意味のあるメッセージ)
|
|||
|
|
4. git diff(コミット前に必ず確認)
|
|||
|
|
5. リスク操作前にコミット(Restore Point作成)
|
|||
|
|
Safety: 常にロールバック可能な状態を維持
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 10. File Organization
|
|||
|
|
```yaml
|
|||
|
|
Rule: ファイルは目的ごとに適切な場所へ配置
|
|||
|
|
Placement:
|
|||
|
|
- Tests: tests/, __tests__/, test/
|
|||
|
|
- Scripts: scripts/, tools/, bin/
|
|||
|
|
- Claude用ドキュメント: docs/research/
|
|||
|
|
- 一時ファイル: 作業後に削除
|
|||
|
|
Forbidden:
|
|||
|
|
- test_*.py を src/ に配置
|
|||
|
|
- debug.sh をルートに配置
|
|||
|
|
- *.test.js を src/ に配置
|
|||
|
|
Principle: 関心の分離(Separation of Concerns)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📐 コーディング規約
|
|||
|
|
|
|||
|
|
### 命名規則
|
|||
|
|
```yaml
|
|||
|
|
Principle: 責務が明確にわかる具体的な名前
|
|||
|
|
Forbidden:
|
|||
|
|
- core/, common/, utils/(抽象的)
|
|||
|
|
- *-service, *-manager, *-handler(曖昧)
|
|||
|
|
- data, temp, misc(意味不明)
|
|||
|
|
Required:
|
|||
|
|
- user-authentication/, order-processing/
|
|||
|
|
- calculateTax(), validateEmail()
|
|||
|
|
- UserRepository, OrderService(明確な責務)
|
|||
|
|
Convention:
|
|||
|
|
- JavaScript/TypeScript: camelCase
|
|||
|
|
- Python: snake_case
|
|||
|
|
- Directories: kebab-case
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### ファイルサイズ
|
|||
|
|
```yaml
|
|||
|
|
Target: 500行以下/ファイル
|
|||
|
|
Approach:
|
|||
|
|
- Single Responsibility Principle
|
|||
|
|
- 500行超えたらモジュール分割
|
|||
|
|
- 関数は50行以下を目標
|
|||
|
|
Rationale: テスト可能性、保守性向上
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### コメント
|
|||
|
|
```yaml
|
|||
|
|
Required:
|
|||
|
|
- 複雑なロジックの意図説明
|
|||
|
|
- 非自明な設計判断の理由
|
|||
|
|
- APIドキュメント(公開関数)
|
|||
|
|
Forbidden:
|
|||
|
|
- コードの直訳("ユーザーを取得"等)
|
|||
|
|
- TODOコメント(Issue化すべき)
|
|||
|
|
- コメントアウトされたコード(削除)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🧪 テスト戦略
|
|||
|
|
|
|||
|
|
### 完了の定義
|
|||
|
|
```yaml
|
|||
|
|
Definition: 「テスト済み + 動作確認済み」
|
|||
|
|
Required:
|
|||
|
|
- ユニットテスト(ロジック部分)
|
|||
|
|
- 統合テスト(コンポーネント連携)
|
|||
|
|
- 動作確認手順の文書化
|
|||
|
|
Forbidden: 口頭報告のみで完了宣言
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### テストタイプ
|
|||
|
|
| タイプ | 対象 | ツール | 頻度 |
|
|||
|
|
|-------|------|-------|------|
|
|||
|
|
| **Unit** | 個別関数/クラス | pytest, jest | コミット毎 |
|
|||
|
|
| **Integration** | コンポーネント連携 | pytest, jest | PR前 |
|
|||
|
|
| **E2E** | ユーザーシナリオ | Playwright | リリース前 |
|
|||
|
|
| **Performance** | トークン使用量、速度 | カスタム | メジャーリリース |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚀 デプロイメント
|
|||
|
|
|
|||
|
|
### 配布チャネル
|
|||
|
|
- **PyPI**: `pipx install SuperClaude`(推奨)
|
|||
|
|
- **npm**: `npm install -g @bifrost_inc/superclaude`
|
|||
|
|
|
|||
|
|
### バージョニング
|
|||
|
|
- **Semantic Versioning**: MAJOR.MINOR.PATCH
|
|||
|
|
- **Current**: v4.2.0
|
|||
|
|
|
|||
|
|
### リリースプロセス
|
|||
|
|
1. 機能完成 → tests/ でテスト
|
|||
|
|
2. CHANGELOG.md 更新
|
|||
|
|
3. バージョンバンプ
|
|||
|
|
4. PyPI/npm 公開
|
|||
|
|
5. GitHub Release作成
|
|||
|
|
6. ドキュメントサイト更新
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📚 Self-Improvement Loop
|
|||
|
|
|
|||
|
|
### セッション開始プロトコル
|
|||
|
|
```yaml
|
|||
|
|
1. Read PLANNING.md:
|
|||
|
|
- アーキテクチャ理解
|
|||
|
|
- 絶対守るルール確認
|
|||
|
|
|
|||
|
|
2. Read TASK.md:
|
|||
|
|
- 現在のタスク確認
|
|||
|
|
- 優先度把握
|
|||
|
|
|
|||
|
|
3. Read KNOWLEDGE.md:
|
|||
|
|
- 過去の知見参照
|
|||
|
|
- 失敗パターン回避
|
|||
|
|
|
|||
|
|
4. Git Status:
|
|||
|
|
- ブランチ確認
|
|||
|
|
- 変更状況把握
|
|||
|
|
|
|||
|
|
5. Token Budget:
|
|||
|
|
- リソース確認
|
|||
|
|
- 効率化判断
|
|||
|
|
|
|||
|
|
6. Confidence Check:
|
|||
|
|
- 理解度検証(>70%)
|
|||
|
|
- 不明点の質問
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 実行中の学習
|
|||
|
|
```yaml
|
|||
|
|
Discovery:
|
|||
|
|
- 新しいベストプラクティス → KNOWLEDGE.md に追記
|
|||
|
|
- 設計パターン発見 → KNOWLEDGE.md に記録
|
|||
|
|
|
|||
|
|
Failure:
|
|||
|
|
- エラー検出 → 根本原因分析
|
|||
|
|
- 失敗パターン → PLANNING.md ルール追加
|
|||
|
|
|
|||
|
|
Completion:
|
|||
|
|
- タスク完了 → TASK.md 更新
|
|||
|
|
- 知見抽出 → KNOWLEDGE.md に追加
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 定期振り返り
|
|||
|
|
```yaml
|
|||
|
|
Frequency:
|
|||
|
|
- セッション終了時
|
|||
|
|
- 週次レビュー
|
|||
|
|
- 月次メンテナンス
|
|||
|
|
|
|||
|
|
Process:
|
|||
|
|
1. Self-Reflection: 何を間違えた?
|
|||
|
|
2. Pattern Extraction: 繰り返しパターン?
|
|||
|
|
3. Document Update: ルール/知見更新
|
|||
|
|
4. Metrics Tracking: 改善率測定
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔄 ワークフロー例
|
|||
|
|
|
|||
|
|
### 新機能開発
|
|||
|
|
```bash
|
|||
|
|
# 1. セッション開始
|
|||
|
|
Read PLANNING.md, TASK.md, KNOWLEDGE.md
|
|||
|
|
git status && git branch
|
|||
|
|
|
|||
|
|
# 2. ブランチ作成
|
|||
|
|
git checkout -b feature/new-command
|
|||
|
|
|
|||
|
|
# 3. 調査(Evidence-Based)
|
|||
|
|
Context7/Tavily で最新情報確認
|
|||
|
|
|
|||
|
|
# 4. 実装(並列実行)
|
|||
|
|
Parallel: Read files, Analyze code, Generate tests
|
|||
|
|
|
|||
|
|
# 5. テスト
|
|||
|
|
pytest tests/
|
|||
|
|
|
|||
|
|
# 6. コミット
|
|||
|
|
git add . && git commit -m "feat: add new command"
|
|||
|
|
|
|||
|
|
# 7. 学習
|
|||
|
|
KNOWLEDGE.md に発見を追記
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📞 質問・不明点
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
Principle: わからないことを質問するのは良いこと
|
|||
|
|
Forbidden: 理解していないまま実装着手(害悪)
|
|||
|
|
Action:
|
|||
|
|
- 曖昧な要求 → 具体的な質問で引き出す
|
|||
|
|
- 技術的不明点 → Context7/Tavily で調査
|
|||
|
|
- それでも不明 → ユーザーに質問
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**このドキュメントは生きている設計書です。**
|
|||
|
|
**新しい知見、失敗パターン、改善案があれば継続的に更新してください。**
|
|||
|
|
**迷ったらこのファイルに戻ってきてください。**
|