mirror of
https://github.com/SuperClaude-Org/SuperClaude_Framework.git
synced 2025-12-17 17:56:46 +00:00
* refactor(docs): rename directories to lowercase for PEP8 compliance - Developer-Guide → developer-guide - Getting-Started → getting-started - Reference → reference - Templates → templates - User-Guide → user-guide - User-Guide-jp → user-guide-jp - User-Guide-kr → user-guide-kr - User-Guide-zh → user-guide-zh This change aligns with Python PEP8 package naming conventions. All 43 files affected. * refactor: rename root documentation files to lowercase - CHANGELOG.md → changelog.md - CODE_OF_CONDUCT.md → code_of_conduct.md - CONTRIBUTING.md → contributing.md - SECURITY.md → security.md Aligns with Python package naming conventions (PEP8). README files remain uppercase as per convention. * refactor: move documentation files to docs/ for cleaner root Moved OSS standard files to docs/: - CHANGELOG.md → docs/CHANGELOG.md - CODE_OF_CONDUCT.md → docs/CODE_OF_CONDUCT.md - CONTRIBUTING.md → docs/CONTRIBUTING.md - SECURITY.md → docs/SECURITY.md Root now contains only essential files: ✓ README files (表紙: en, ja, kr, zh) ✓ LICENSE (法的要件) ✓ Build configs (pyproject.toml, setup.py, MANIFEST.in) ✓ VERSION Rationale: Cleaner root structure following modern Python project conventions. All detailed documentation consolidated in docs/ directory. * refactor: update documentation links after restructure Auto-updated internal documentation links to reflect new structure: - docs/ subdirectories now lowercase (PEP8) - Root files moved to docs/ - All cross-references updated This commit includes linter-generated link updates. * chore(docs): keep OSS-standard uppercase root files (CHANGELOG, CODE_OF_CONDUCT, CONTRIBUTING, SECURITY) * chore(docs): remove duplicated PR docs from repo root (moved under docs) * docs: rename pm-agent-implementation-status.md -> PM_AGENT.md for clarity * docs: update links to PM_AGENT.md after rename --------- Co-authored-by: kazuki <kazuki@kazukinoMacBook-Air.local>
478 lines
11 KiB
Markdown
478 lines
11 KiB
Markdown
# PM Agent Mode Integration Guide
|
||
|
||
**Last Updated**: 2025-10-14
|
||
**Target Version**: 4.2.0
|
||
**Status**: Implementation Guide
|
||
|
||
---
|
||
|
||
## 📋 Overview
|
||
|
||
This guide provides step-by-step procedures for integrating PM Agent mode as SuperClaude's always-active meta-layer with session lifecycle management, PDCA self-evaluation, and systematic knowledge management.
|
||
|
||
---
|
||
|
||
## 🎯 Integration Goals
|
||
|
||
1. **Session Lifecycle**: Auto-activation at session start with context restoration
|
||
2. **PDCA Engine**: Automated Plan-Do-Check-Act cycle execution
|
||
3. **Memory Operations**: Serena MCP integration for session persistence
|
||
4. **Documentation Strategy**: Systematic knowledge evolution
|
||
|
||
---
|
||
|
||
## 📐 Architecture Integration
|
||
|
||
### PM Agent Position
|
||
|
||
```
|
||
┌──────────────────────────────────────────┐
|
||
│ PM Agent Mode (Meta-Layer) │
|
||
│ • Always Active │
|
||
│ • Session Management │
|
||
│ • PDCA Self-Evaluation │
|
||
└──────────────┬───────────────────────────┘
|
||
↓
|
||
[Specialist Agents Layer]
|
||
↓
|
||
[Commands & Modes Layer]
|
||
↓
|
||
[MCP Tool Layer]
|
||
```
|
||
|
||
See: [ARCHITECTURE.md](./ARCHITECTURE.md) for full system architecture
|
||
|
||
---
|
||
|
||
## 🔧 Phase 2: Core Implementation
|
||
|
||
### File Structure
|
||
|
||
```
|
||
superclaude/
|
||
├── Commands/
|
||
│ └── pm.md # ✅ Already updated
|
||
├── Agents/
|
||
│ └── pm-agent.md # ✅ Already updated
|
||
└── Core/
|
||
├── __init__.py # Module initialization
|
||
├── session_lifecycle.py # 🆕 Session management
|
||
├── pdca_engine.py # 🆕 PDCA automation
|
||
└── memory_ops.py # 🆕 Memory operations
|
||
```
|
||
|
||
### Implementation Order
|
||
|
||
1. `memory_ops.py` - Serena MCP wrapper (foundation)
|
||
2. `session_lifecycle.py` - Session management (depends on memory_ops)
|
||
3. `pdca_engine.py` - PDCA automation (depends on memory_ops)
|
||
|
||
---
|
||
|
||
## 1️⃣ memory_ops.py Implementation
|
||
|
||
### Purpose
|
||
Wrapper for Serena MCP memory operations with error handling and fallback.
|
||
|
||
### Key Functions
|
||
|
||
```python
|
||
# superclaude/Core/memory_ops.py
|
||
|
||
class MemoryOperations:
|
||
"""Serena MCP memory operations wrapper"""
|
||
|
||
def list_memories() -> List[str]:
|
||
"""List all available memories"""
|
||
|
||
def read_memory(key: str) -> Optional[Dict]:
|
||
"""Read memory by key"""
|
||
|
||
def write_memory(key: str, value: Dict) -> bool:
|
||
"""Write memory with key"""
|
||
|
||
def delete_memory(key: str) -> bool:
|
||
"""Delete memory by key"""
|
||
```
|
||
|
||
### Integration Points
|
||
- Connect to Serena MCP server
|
||
- Handle connection errors gracefully
|
||
- Provide fallback for offline mode
|
||
- Validate memory structure
|
||
|
||
### Testing
|
||
```bash
|
||
pytest tests/test_memory_ops.py -v
|
||
```
|
||
|
||
---
|
||
|
||
## 2️⃣ session_lifecycle.py Implementation
|
||
|
||
### Purpose
|
||
Auto-activation at session start, context restoration, user report generation.
|
||
|
||
### Key Functions
|
||
|
||
```python
|
||
# superclaude/Core/session_lifecycle.py
|
||
|
||
class SessionLifecycle:
|
||
"""Session lifecycle management"""
|
||
|
||
def on_session_start():
|
||
"""Hook for session start (auto-activation)"""
|
||
# 1. list_memories()
|
||
# 2. read_memory("pm_context")
|
||
# 3. read_memory("last_session")
|
||
# 4. read_memory("next_actions")
|
||
# 5. generate_user_report()
|
||
|
||
def generate_user_report() -> str:
|
||
"""Generate user report (前回/進捗/今回/課題)"""
|
||
|
||
def on_session_end():
|
||
"""Hook for session end (checkpoint save)"""
|
||
# 1. write_memory("last_session", summary)
|
||
# 2. write_memory("next_actions", todos)
|
||
# 3. write_memory("pm_context", complete_state)
|
||
```
|
||
|
||
### User Report Format
|
||
```
|
||
前回: [last session summary]
|
||
進捗: [current progress status]
|
||
今回: [planned next actions]
|
||
課題: [blockers or issues]
|
||
```
|
||
|
||
### Integration Points
|
||
- Hook into Claude Code session start
|
||
- Read memories using memory_ops
|
||
- Generate human-readable report
|
||
- Handle missing or corrupted memory
|
||
|
||
### Testing
|
||
```bash
|
||
pytest tests/test_session_lifecycle.py -v
|
||
```
|
||
|
||
---
|
||
|
||
## 3️⃣ pdca_engine.py Implementation
|
||
|
||
### Purpose
|
||
Automate PDCA cycle execution with documentation generation.
|
||
|
||
### Key Functions
|
||
|
||
```python
|
||
# superclaude/Core/pdca_engine.py
|
||
|
||
class PDCAEngine:
|
||
"""PDCA cycle automation"""
|
||
|
||
def plan_phase(goal: str):
|
||
"""Generate hypothesis (仮説)"""
|
||
# 1. write_memory("plan", goal)
|
||
# 2. Create docs/temp/hypothesis-YYYY-MM-DD.md
|
||
|
||
def do_phase():
|
||
"""Track experimentation (実験)"""
|
||
# 1. TodoWrite tracking
|
||
# 2. write_memory("checkpoint", progress) every 30min
|
||
# 3. Update docs/temp/experiment-YYYY-MM-DD.md
|
||
|
||
def check_phase():
|
||
"""Self-evaluation (評価)"""
|
||
# 1. think_about_task_adherence()
|
||
# 2. think_about_whether_you_are_done()
|
||
# 3. Create docs/temp/lessons-YYYY-MM-DD.md
|
||
|
||
def act_phase():
|
||
"""Knowledge extraction (改善)"""
|
||
# 1. Success → docs/patterns/[pattern-name].md
|
||
# 2. Failure → docs/mistakes/mistake-YYYY-MM-DD.md
|
||
# 3. Update CLAUDE.md if global pattern
|
||
```
|
||
|
||
### Documentation Templates
|
||
|
||
**hypothesis-template.md**:
|
||
```markdown
|
||
# Hypothesis: [Goal Description]
|
||
|
||
Date: YYYY-MM-DD
|
||
Status: Planning
|
||
|
||
## Goal
|
||
What are we trying to accomplish?
|
||
|
||
## Approach
|
||
How will we implement this?
|
||
|
||
## Success Criteria
|
||
How do we know when we're done?
|
||
|
||
## Potential Risks
|
||
What could go wrong?
|
||
```
|
||
|
||
**experiment-template.md**:
|
||
```markdown
|
||
# Experiment Log: [Implementation Name]
|
||
|
||
Date: YYYY-MM-DD
|
||
Status: In Progress
|
||
|
||
## Implementation Steps
|
||
- [ ] Step 1
|
||
- [ ] Step 2
|
||
|
||
## Errors Encountered
|
||
- Error 1: Description, solution
|
||
|
||
## Solutions Applied
|
||
- Solution 1: Description, result
|
||
|
||
## Checkpoint Saves
|
||
- 10:00: [progress snapshot]
|
||
- 10:30: [progress snapshot]
|
||
```
|
||
|
||
### Integration Points
|
||
- Create docs/ directory templates
|
||
- Integrate with TodoWrite
|
||
- Call Serena MCP think operations
|
||
- Generate documentation files
|
||
|
||
### Testing
|
||
```bash
|
||
pytest tests/test_pdca_engine.py -v
|
||
```
|
||
|
||
---
|
||
|
||
## 🔌 Phase 3: Serena MCP Integration
|
||
|
||
### Prerequisites
|
||
```bash
|
||
# Install Serena MCP server
|
||
# See: docs/troubleshooting/serena-installation.md
|
||
```
|
||
|
||
### Configuration
|
||
```json
|
||
// ~/.claude/.claude.json
|
||
{
|
||
"mcpServers": {
|
||
"serena": {
|
||
"command": "uv",
|
||
"args": ["run", "serena-mcp"]
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
### Memory Structure
|
||
```json
|
||
{
|
||
"pm_context": {
|
||
"project": "SuperClaude_Framework",
|
||
"current_phase": "Phase 2",
|
||
"architecture": "Context-Oriented Configuration",
|
||
"patterns": ["PDCA Cycle", "Session Lifecycle"]
|
||
},
|
||
"last_session": {
|
||
"date": "2025-10-14",
|
||
"accomplished": ["Phase 1 complete"],
|
||
"issues": ["Serena MCP not configured"],
|
||
"learned": ["Session Lifecycle pattern"]
|
||
},
|
||
"next_actions": [
|
||
"Implement session_lifecycle.py",
|
||
"Configure Serena MCP",
|
||
"Test memory operations"
|
||
]
|
||
}
|
||
```
|
||
|
||
### Testing Serena Connection
|
||
```bash
|
||
# Test memory operations
|
||
python -m SuperClaude.Core.memory_ops --test
|
||
```
|
||
|
||
---
|
||
|
||
## 📁 Phase 4: Documentation Strategy
|
||
|
||
### Directory Structure
|
||
```
|
||
docs/
|
||
├── temp/ # Temporary (7-day lifecycle)
|
||
│ ├── hypothesis-YYYY-MM-DD.md
|
||
│ ├── experiment-YYYY-MM-DD.md
|
||
│ └── lessons-YYYY-MM-DD.md
|
||
├── patterns/ # Formal patterns (永久保存)
|
||
│ └── [pattern-name].md
|
||
└── mistakes/ # Mistake records (永久保存)
|
||
└── mistake-YYYY-MM-DD.md
|
||
```
|
||
|
||
### Lifecycle Automation
|
||
```bash
|
||
# Create cleanup script
|
||
scripts/cleanup_temp_docs.sh
|
||
|
||
# Run daily via cron
|
||
0 0 * * * /path/to/scripts/cleanup_temp_docs.sh
|
||
```
|
||
|
||
### Migration Scripts
|
||
```bash
|
||
# Migrate successful experiments to patterns
|
||
python scripts/migrate_to_patterns.py
|
||
|
||
# Migrate failures to mistakes
|
||
python scripts/migrate_to_mistakes.py
|
||
```
|
||
|
||
---
|
||
|
||
## 🚀 Phase 5: Auto-Activation (Research Needed)
|
||
|
||
### Research Questions
|
||
1. How does Claude Code handle initialization?
|
||
2. Are there plugin hooks available?
|
||
3. Can we intercept session start events?
|
||
|
||
### Implementation Plan (TBD)
|
||
Once research complete, implement auto-activation hooks:
|
||
|
||
```python
|
||
# superclaude/Core/auto_activation.py (future)
|
||
|
||
def on_claude_code_start():
|
||
"""Auto-activate PM Agent at session start"""
|
||
session_lifecycle.on_session_start()
|
||
```
|
||
|
||
---
|
||
|
||
## ✅ Implementation Checklist
|
||
|
||
### Phase 2: Core Implementation
|
||
- [ ] Implement `memory_ops.py`
|
||
- [ ] Write unit tests for memory_ops
|
||
- [ ] Implement `session_lifecycle.py`
|
||
- [ ] Write unit tests for session_lifecycle
|
||
- [ ] Implement `pdca_engine.py`
|
||
- [ ] Write unit tests for pdca_engine
|
||
- [ ] Integration testing
|
||
|
||
### Phase 3: Serena MCP
|
||
- [ ] Install Serena MCP server
|
||
- [ ] Configure `.claude.json`
|
||
- [ ] Test memory operations
|
||
- [ ] Test think operations
|
||
- [ ] Test cross-session persistence
|
||
|
||
### Phase 4: Documentation Strategy
|
||
- [ ] Create `docs/temp/` template
|
||
- [ ] Create `docs/patterns/` template
|
||
- [ ] Create `docs/mistakes/` template
|
||
- [ ] Implement lifecycle automation
|
||
- [ ] Create migration scripts
|
||
|
||
### Phase 5: Auto-Activation
|
||
- [ ] Research Claude Code hooks
|
||
- [ ] Design auto-activation system
|
||
- [ ] Implement auto-activation
|
||
- [ ] Test session start behavior
|
||
|
||
---
|
||
|
||
## 🧪 Testing Strategy
|
||
|
||
### Unit Tests
|
||
```bash
|
||
tests/
|
||
├── test_memory_ops.py # Memory operations
|
||
├── test_session_lifecycle.py # Session management
|
||
└── test_pdca_engine.py # PDCA automation
|
||
```
|
||
|
||
### Integration Tests
|
||
```bash
|
||
tests/integration/
|
||
├── test_pm_agent_flow.py # End-to-end PM Agent
|
||
├── test_serena_integration.py # Serena MCP integration
|
||
└── test_cross_session.py # Session persistence
|
||
```
|
||
|
||
### Manual Testing
|
||
1. Start new session → Verify context restoration
|
||
2. Work on task → Verify checkpoint saves
|
||
3. End session → Verify state preservation
|
||
4. Restart → Verify seamless resumption
|
||
|
||
---
|
||
|
||
## 📊 Success Criteria
|
||
|
||
### Functional
|
||
- [ ] PM Agent activates at session start
|
||
- [ ] Context restores from memory
|
||
- [ ] User report generates correctly
|
||
- [ ] PDCA cycle executes automatically
|
||
- [ ] Documentation strategy works
|
||
|
||
### Performance
|
||
- [ ] Session start delay <500ms
|
||
- [ ] Memory operations <100ms
|
||
- [ ] Context restoration reliable (>99%)
|
||
|
||
### Quality
|
||
- [ ] Test coverage >90%
|
||
- [ ] No regression in existing features
|
||
- [ ] Documentation complete
|
||
|
||
---
|
||
|
||
## 🔧 Troubleshooting
|
||
|
||
### Common Issues
|
||
|
||
**"Serena MCP not connecting"**
|
||
- Check server installation
|
||
- Verify `.claude.json` configuration
|
||
- Test connection: `claude mcp list`
|
||
|
||
**"Memory operations failing"**
|
||
- Check network connection
|
||
- Verify Serena server running
|
||
- Check error logs
|
||
|
||
**"Context not restoring"**
|
||
- Verify memory structure
|
||
- Check `pm_context` exists
|
||
- Test with fresh memory
|
||
|
||
---
|
||
|
||
## 📚 References
|
||
|
||
- [ARCHITECTURE.md](./ARCHITECTURE.md) - System architecture
|
||
- [ROADMAP.md](./ROADMAP.md) - Development roadmap
|
||
- [PM_AGENT.md](../PM_AGENT.md) - Status tracking
|
||
- [Commands/pm.md](../../superclaude/Commands/pm.md) - PM Agent command
|
||
- [Agents/pm-agent.md](../../superclaude/Agents/pm-agent.md) - PM Agent persona
|
||
|
||
---
|
||
|
||
**Last Verified**: 2025-10-14
|
||
**Next Review**: 2025-10-21 (1 week)
|
||
**Version**: 4.1.5
|