fix: resolve installation failures after framework_docs rename

## Problems Fixed
1. **Syntax errors**: Duplicate docstrings in all component files (line 1)
2. **Dependency mismatch**: Stale framework_docs references after rename to knowledge_base

## Changes
- Fix docstring format in all component files (behavior_modes, agent_personas, slash_commands, mcp_integration)
- Update all dependency references: framework_docs → knowledge_base
- Update component registration calls in knowledge_base.py (5 locations)
- Update install.py files in both setup/ and superclaude/ (5 locations total)
- Fix documentation links in README-ja.md and README-zh.md

## Verification
 All components load successfully without syntax errors
 Dependency resolution works correctly
 Installation completes in 0.5s with all validations passing
 make dev succeeds

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
kazuki
2025-10-18 21:55:02 +09:00
parent d7f0dfce66
commit 3d05475c68
9 changed files with 104 additions and 28 deletions

View File

@@ -138,7 +138,7 @@ def get_components_to_install(
# Explicit components specified
if args.components:
if "all" in args.components:
components = ["framework_docs", "commands", "agents", "modes", "mcp"]
components = ["knowledge_base", "commands", "agents", "modes", "mcp"]
else:
components = args.components
@@ -302,7 +302,7 @@ def select_framework_components(
try:
# Framework components (excluding MCP-related ones)
framework_components = ["framework_docs", "modes", "commands", "agents"]
framework_components = ["knowledge_base", "modes", "commands", "agents"]
# Create component menu
component_options = []
@@ -334,9 +334,9 @@ def select_framework_components(
selections = menu.display()
if not selections:
# Default to framework_docs if nothing selected
logger.info("No components selected, defaulting to framework_docs")
selected_components = ["framework_docs"]
# Default to knowledge_base if nothing selected
logger.info("No components selected, defaulting to knowledge_base")
selected_components = ["knowledge_base"]
else:
selected_components = []
all_components = framework_components
@@ -354,7 +354,7 @@ def select_framework_components(
except Exception as e:
logger.error(f"Error in framework component selection: {e}")
return ["framework_docs"] # Fallback to framework_docs
return ["knowledge_base"] # Fallback to knowledge_base
def interactive_component_selection(

View File

@@ -1,5 +1,8 @@
"""\nAgent Personas Component\n\nResponsibility: Defines AI agent personalities and role-based behaviors.\nProvides specialized personas for different task types.\n"""\n\n"""
Agents component for SuperClaude specialized AI agents installation
"""
Agent Personas Component
Responsibility: Defines AI agent personalities and role-based behaviors.
Provides specialized personas for different task types.
"""
from typing import Dict, List, Tuple, Optional, Any
@@ -133,7 +136,7 @@ class AgentPersonasComponent(Component):
def get_dependencies(self) -> List[str]:
"""Get component dependencies"""
return ["framework_docs"]
return ["knowledge_base"]
def update(self, config: Dict[str, Any]) -> bool:
"""

View File

@@ -1,5 +1,8 @@
"""\nBehavior Modes Component\n\nResponsibility: Defines and manages execution modes for Claude behavior.\nControls how Claude responds to different contexts and user intent.\n"""\n\n"""
Modes component for SuperClaude behavioral modes
"""
Behavior Modes Component
Responsibility: Defines and manages execution modes for Claude behavior.
Controls how Claude responds to different contexts and user intent.
"""
from typing import Dict, List, Tuple, Optional, Any
@@ -149,7 +152,7 @@ class BehaviorModesComponent(Component):
def get_dependencies(self) -> List[str]:
"""Get dependencies"""
return ["framework_docs"]
return ["knowledge_base"]
def update(self, config: Dict[str, Any]) -> bool:
"""

View File

@@ -201,8 +201,8 @@ class KnowledgeBaseComponent(Component):
# Update metadata to remove knowledge base component
try:
if self.settings_manager.is_component_installed("framework_docs"):
self.settings_manager.remove_component_registration("framework_docs")
if self.settings_manager.is_component_installed("knowledge_base"):
self.settings_manager.remove_component_registration("knowledge_base")
metadata_mods = self.get_metadata_modifications()
metadata = self.settings_manager.load_metadata()
for key in metadata_mods.keys():
@@ -239,7 +239,7 @@ class KnowledgeBaseComponent(Component):
metadata = self.settings_manager.load_metadata()
previous_files = set(
metadata.get("components", {})
.get("framework_docs", {})
.get("knowledge_base", {})
.get("files", [])
)
@@ -267,7 +267,7 @@ class KnowledgeBaseComponent(Component):
if success:
# Update metadata with current file list
self.settings_manager.add_component_registration(
"framework_docs",
"knowledge_base",
{
"version": __version__,
"category": "documentation",
@@ -301,11 +301,11 @@ class KnowledgeBaseComponent(Component):
errors.append(f"Framework file is not a regular file: {filename}")
# Check metadata registration
if not self.settings_manager.is_component_installed("framework_docs"):
errors.append("Framework docs component not registered in metadata")
if not self.settings_manager.is_component_installed("knowledge_base"):
errors.append("Knowledge base component not registered in metadata")
else:
# Check version matches
installed_version = self.settings_manager.get_component_version("framework_docs")
installed_version = self.settings_manager.get_component_version("knowledge_base")
expected_version = self.get_metadata()["version"]
if installed_version != expected_version:
errors.append(

View File

@@ -1,5 +1,8 @@
"""\nMCP Integration Component\n\nResponsibility: Integrates Model Context Protocol for external tool access.\nManages connections to specialized MCP servers and capabilities.\n"""\n\n"""
MCP component for MCP server integration
"""
MCP Integration Component
Responsibility: Integrates Model Context Protocol for external tool access.
Manages connections to specialized MCP servers and capabilities.
"""
import os
@@ -941,7 +944,7 @@ class MCPIntegrationComponent(Component):
def get_dependencies(self) -> List[str]:
"""Get dependencies"""
return ["framework_docs"]
return ["knowledge_base"]
def update(self, config: Dict[str, Any]) -> bool:
"""Update MCP component"""

View File

@@ -1,5 +1,8 @@
"""\nSlash Commands Component\n\nResponsibility: Registers and manages slash commands for CLI interactions.\nProvides custom command definitions and execution logic.\n"""\n\n"""
Commands component for SuperClaude slash command definitions
"""
Slash Commands Component
Responsibility: Registers and manages slash commands for CLI interactions.
Provides custom command definitions and execution logic.
"""
from typing import Dict, List, Tuple, Optional, Any
@@ -180,7 +183,7 @@ class SlashCommandsComponent(Component):
def get_dependencies(self) -> List[str]:
"""Get dependencies"""
return ["framework_docs"]
return ["knowledge_base"]
def update(self, config: Dict[str, Any]) -> bool:
"""