SuperClaude/docs/Development/project-structure-understanding.md
kazuki nakai 050d5ea2ab
refactor: PEP8 compliance - directory rename and code formatting (#425)
* fix(orchestration): add WebFetch auto-trigger for infrastructure configuration

Problem: Infrastructure configuration changes (e.g., Traefik port settings)
were being made based on assumptions without consulting official documentation,
violating the 'Evidence > assumptions' principle in PRINCIPLES.md.

Solution:
- Added Infrastructure Configuration Validation section to MODE_Orchestration.md
- Auto-triggers WebFetch for infrastructure tools (Traefik, nginx, Docker, etc.)
- Enforces MODE_DeepResearch activation for investigation
- BLOCKS assumption-based configuration changes

Testing: Verified WebFetch successfully retrieves Traefik official docs (port 80 default)

This prevents production outages from infrastructure misconfiguration by ensuring
all technical recommendations are backed by official documentation.

* feat: Add PM Agent (Project Manager Agent) for seamless orchestration

Introduces PM Agent as the default orchestration layer that coordinates
all sub-agents and manages workflows automatically.

Key Features:
- Default orchestration: All user interactions handled by PM Agent
- Auto-delegation: Intelligent sub-agent selection based on task analysis
- Docker Gateway integration: Zero-token baseline with dynamic MCP loading
- Self-improvement loop: Automatic documentation of patterns and mistakes
- Optional override: Users can specify sub-agents explicitly if desired

Architecture:
- Agent spec: SuperClaude/Agents/pm-agent.md
- Command: SuperClaude/Commands/pm.md
- Updated docs: README.md (15→16 agents), agents.md (new Orchestration category)

User Experience:
- Default: PM Agent handles everything (seamless, no manual routing)
- Optional: Explicit --agent flag for direct sub-agent access
- Both modes available simultaneously (no user downside)

Implementation Status:
-  Specification complete
-  Documentation complete
-  Prototype implementation needed
-  Docker Gateway integration needed
-  Testing and validation needed

Refs: kazukinakai/docker-mcp-gateway (IRIS MCP Gateway integration)

* feat: Add Agent Orchestration rules for PM Agent default activation

Implements PM Agent as the default orchestration layer in RULES.md.

Key Changes:
- New 'Agent Orchestration' section (CRITICAL priority)
- PM Agent receives ALL user requests by default
- Manual override with @agent-[name] bypasses PM Agent
- Agent Selection Priority clearly defined:
  1. Manual override → Direct routing
  2. Default → PM Agent → Auto-delegation
  3. Delegation based on keywords, file types, complexity, context

User Experience:
- Default: PM Agent handles everything (seamless)
- Override: @agent-[name] for direct specialist access
- Transparent: PM Agent reports delegation decisions

This establishes PM Agent as the orchestration layer while
respecting existing auto-activation patterns and manual overrides.

Next Steps:
- Local testing in agiletec project
- Iteration based on actual behavior
- Documentation updates as needed

* refactor(pm-agent): redesign as self-improvement meta-layer

Problem Resolution:
PM Agent's initial design competed with existing auto-activation for task routing,
creating confusion about orchestration responsibilities and adding unnecessary complexity.

Design Change:
Redefined PM Agent as a meta-layer agent that operates AFTER specialist agents
complete tasks, focusing on:
- Post-implementation documentation and pattern recording
- Immediate mistake analysis with prevention checklists
- Monthly documentation maintenance and noise reduction
- Pattern extraction and knowledge synthesis

Two-Layer Orchestration System:
1. Task Execution Layer: Existing auto-activation handles task routing (unchanged)
2. Self-Improvement Layer: PM Agent meta-layer handles documentation (new)

Files Modified:
- SuperClaude/Agents/pm-agent.md: Complete rewrite with meta-layer design
  - Category: orchestration → meta
  - Triggers: All user interactions → Post-implementation, mistakes, monthly
  - Behavioral Mindset: Continuous learning system
  - Self-Improvement Workflow: BEFORE/DURING/AFTER/MISTAKE RECOVERY/MAINTENANCE

- SuperClaude/Core/RULES.md: Agent Orchestration section updated
  - Split into Task Execution Layer + Self-Improvement Layer
  - Added orchestration flow diagram
  - Clarified PM Agent activates AFTER task completion

- README.md: Updated PM Agent description
  - "orchestrates all interactions" → "ensures continuous learning"

- Docs/User-Guide/agents.md: PM Agent section rewritten
  - Section: Orchestration Agent → Meta-Layer Agent
  - Expertise: Project orchestration → Self-improvement workflow executor
  - Examples: Task coordination → Post-implementation documentation

- PR_DOCUMENTATION.md: Comprehensive PR documentation added
  - Summary, motivation, changes, testing, breaking changes
  - Two-layer orchestration system diagram
  - Verification checklist

Integration Validated:
Tested with agiletec project's self-improvement-workflow.md:
 PM Agent aligns with existing BEFORE/DURING/AFTER/MISTAKE RECOVERY phases
 Complements (not competes with) existing workflow
 agiletec workflow defines WHAT, PM Agent defines WHO executes it

Breaking Changes: None
- Existing auto-activation continues unchanged
- Specialist agents unaffected
- User workflows remain the same
- New capability: Automatic documentation and knowledge maintenance

Value Proposition:
Transforms SuperClaude into a continuously learning system that accumulates
knowledge, prevents recurring mistakes, and maintains fresh documentation
without manual intervention.

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

Co-Authored-By: Claude <noreply@anthropic.com>

* docs: add Claude Code conversation history management research

Research covering .jsonl file structure, performance impact, and retention policies.

Content:
- Claude Code .jsonl file format and message types
- Performance issues from GitHub (memory leaks, conversation compaction)
- Retention policies (consumer vs enterprise)
- Rotation recommendations based on actual data
- File history snapshot tracking mechanics

Source: Moved from agiletec project (research applicable to all Claude Code projects)

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

Co-Authored-By: Claude <noreply@anthropic.com>

* feat: add Development documentation structure

Phase 1: Documentation Structure complete

- Add Docs/Development/ directory for development documentation
- Add ARCHITECTURE.md - System architecture with PM Agent meta-layer
- Add ROADMAP.md - 5-phase development plan with checkboxes
- Add TASKS.md - Daily task tracking with progress indicators
- Add PROJECT_STATUS.md - Current status dashboard and metrics
- Add pm-agent-integration.md - Implementation guide for PM Agent mode

This establishes comprehensive documentation foundation for:
- System architecture understanding
- Development planning and tracking
- Implementation guidance
- Progress visibility

Related: #pm-agent-mode #documentation #phase-1

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

Co-Authored-By: Claude <noreply@anthropic.com>

* feat: PM Agent session lifecycle and PDCA implementation

Phase 2: PM Agent Mode Integration (Design Phase)

Commands/pm.md updates:
- Add "Always-Active Foundation Layer" concept
- Add Session Lifecycle (Session Start/During Work/Session End)
- Add PDCA Cycle (Plan/Do/Check/Act) automation
- Add Serena MCP Memory Integration (list/read/write_memory)
- Document auto-activation triggers

Agents/pm-agent.md updates:
- Add Session Start Protocol (MANDATORY auto-activation)
- Add During Work PDCA Cycle with example workflows
- Add Session End Protocol with state preservation
- Add PDCA Self-Evaluation Pattern
- Add Documentation Strategy (temp → patterns/mistakes)
- Add Memory Operations Reference

Key Features:
- Session start auto-activation for context restoration
- 30-minute checkpoint saves during work
- Self-evaluation with think_about_* operations
- Systematic documentation lifecycle
- Knowledge evolution to CLAUDE.md

Implementation Status:
-  Design complete (Commands/pm.md, Agents/pm-agent.md)
-  Implementation pending (Core components)
-  Serena MCP integration pending

Salvaged from mistaken development in ~/.claude directory

Related: #pm-agent-mode #session-lifecycle #pdca-cycle #phase-2

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

Co-Authored-By: Claude <noreply@anthropic.com>

* fix: disable Serena MCP auto-browser launch

Disable web dashboard and GUI log window auto-launch in Serena MCP server
to prevent intrusive browser popups on startup. Users can still manually
access the dashboard at http://localhost:24282/dashboard/ if needed.

Changes:
- Add CLI flags to Serena run command:
  - --enable-web-dashboard false
  - --enable-gui-log-window false
- Ensures Git-tracked configuration (no reliance on ~/.serena/serena_config.yml)
- Aligns with AIRIS MCP Gateway integration approach

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

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor: rename directories to lowercase for PEP8 compliance

- Rename superclaude/Agents -> superclaude/agents
- Rename superclaude/Commands -> superclaude/commands
- Rename superclaude/Core -> superclaude/core
- Rename superclaude/Examples -> superclaude/examples
- Rename superclaude/MCP -> superclaude/mcp
- Rename superclaude/Modes -> superclaude/modes

This change follows Python PEP8 naming conventions for package directories.

* style: fix PEP8 violations and update package name to lowercase

Changes:
- Format all Python files with black (43 files reformatted)
- Update package name from 'SuperClaude' to 'superclaude' in pyproject.toml
- Fix import statements to use lowercase package name
- Add missing imports (timedelta, __version__)
- Remove old SuperClaude.egg-info directory

PEP8 violations reduced from 2672 to 701 (mostly E501 line length due to black's 88 char vs flake8's 79 char limit).

* docs: add PM Agent development documentation

Add comprehensive PM Agent development documentation:
- PM Agent ideal workflow (7-phase autonomous cycle)
- Project structure understanding (Git vs installed environment)
- Installation flow understanding (CommandsComponent behavior)
- Task management system (current-tasks.md)

Purpose: Eliminate repeated explanations and enable autonomous PDCA cycles

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

Co-Authored-By: Claude <noreply@anthropic.com>

* feat(pm-agent): add self-correcting execution and warning investigation culture

## Changes

### superclaude/commands/pm.md
- Add "Self-Correcting Execution" section with root cause analysis protocol
- Add "Warning/Error Investigation Culture" section enforcing zero-tolerance for dismissal
- Define error detection protocol: STOP → Investigate → Hypothesis → Different Solution → Execute
- Document anti-patterns (retry without understanding) and correct patterns (research-first)

### docs/Development/hypothesis-pm-autonomous-enhancement-2025-10-14.md
- Add PDCA workflow hypothesis document for PM Agent autonomous enhancement

## Rationale

PM Agent must never retry failed operations without understanding root causes.
All warnings and errors require investigation via context7/WebFetch/documentation
to ensure production-quality code and prevent technical debt accumulation.

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

Co-Authored-By: Claude <noreply@anthropic.com>

* feat(installer): add airis-mcp-gateway MCP server option

## Changes

- Add airis-mcp-gateway to MCP server options in installer
- Configuration: GitHub-based installation via uvx
- Repository: https://github.com/oraios/airis-mcp-gateway
- Purpose: Dynamic MCP Gateway for zero-token baseline and on-demand tool loading

## Implementation

Added to setup/components/mcp.py self.mcp_servers dictionary with:
- install_method: github
- install_command: uvx test installation
- run_command: uvx runtime execution
- required: False (optional server)

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

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: kazuki <kazuki@kazukinoMacBook-Air.local>
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-14 08:47:09 +05:30

369 lines
9.2 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 - 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管理下で開発
これで**何百回も同じ説明をしなくて済む**ようになる。