Files
SuperClaude/PLANNING.md
kazuki ea3fe8820c feat: add self-improvement loop with 4 root documents
Implements Self-Improvement Loop based on Cursor's proven patterns:

**New Root Documents**:
- PLANNING.md: Architecture, design principles, 10 absolute rules
- TASK.md: Current tasks with priority (🔴🟡🟢)
- KNOWLEDGE.md: Accumulated insights, best practices, failures
- README.md: Updated with developer documentation links

**Key Features**:
- Session Start Protocol: Read docs → Git status → Token budget → Ready
- Evidence-Based Development: No guessing, always verify
- Parallel Execution Default: Wave → Checkpoint → Wave pattern
- Mac Environment Protection: Docker-first, no host pollution
- Failure Pattern Learning: Past mistakes become prevention rules

**Cleanup**:
- Removed: docs/memory/checkpoint.json, current_plan.json (migrated to TASK.md)
- Enhanced: setup/components/commands.py (module discovery)

**Benefits**:
- LLM reads rules at session start → consistent quality
- Past failures documented → no repeats
- Progressive knowledge accumulation → continuous improvement
- 3.5x faster execution with parallel patterns

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 17:21:43 +09:00

464 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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**: pnpmnpm/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 installUV仮想環境必須
- 依存関係のグローバルインストール
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: YAGNIYou 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 で調査
- それでも不明 → ユーザーに質問
```
---
**このドキュメントは生きている設計書です。**
**新しい知見、失敗パターン、改善案があれば継続的に更新してください。**
**迷ったらこのファイルに戻ってきてください。**