mirror of
https://github.com/SuperClaude-Org/SuperClaude_Framework.git
synced 2025-12-29 16:16:08 +00:00
Remove profile system and make custom two-stage selection default
- Remove profiles/ directory with all profile JSON files - Update install.py to remove profile CLI options and simplify flow - Make interactive two-stage selection (MCP → Components) the default - Remove ConfigManager.load_profile() method - Update documentation to reflect simplified installation process - Add CLAUDEMdManager for intelligent CLAUDE.md import management - Components now install to root directory with organized @imports - Preserve user customizations while managing framework imports This simplifies the installation experience while providing users direct control over what gets installed through the intuitive two-stage selection process. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,7 @@ from pathlib import Path
|
||||
import shutil
|
||||
|
||||
from ..base.component import Component
|
||||
from ..managers.claude_md_manager import CLAUDEMdManager
|
||||
|
||||
class CoreComponent(Component):
|
||||
"""Core SuperClaude framework files component"""
|
||||
@@ -77,6 +78,15 @@ class CoreComponent(Component):
|
||||
dir_path = self.install_dir / dirname
|
||||
if not self.file_manager.ensure_directory(dir_path):
|
||||
self.logger.warning(f"Could not create directory: {dir_path}")
|
||||
|
||||
# Update CLAUDE.md with core framework imports
|
||||
try:
|
||||
manager = CLAUDEMdManager(self.install_dir)
|
||||
manager.add_imports(self.component_files, category="Core Framework")
|
||||
self.logger.info("Updated CLAUDE.md with core framework imports")
|
||||
except Exception as e:
|
||||
self.logger.warning(f"Failed to update CLAUDE.md with core framework imports: {e}")
|
||||
# Don't fail the whole installation for this
|
||||
|
||||
return True
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ from typing import Dict, List, Tuple, Optional, Any
|
||||
from pathlib import Path
|
||||
|
||||
from ..base.component import Component
|
||||
from ..managers.claude_md_manager import CLAUDEMdManager
|
||||
|
||||
|
||||
class MCPDocsComponent(Component):
|
||||
@@ -13,7 +14,7 @@ class MCPDocsComponent(Component):
|
||||
|
||||
def __init__(self, install_dir: Optional[Path] = None):
|
||||
"""Initialize MCP docs component"""
|
||||
super().__init__(install_dir, Path("mcp"))
|
||||
super().__init__(install_dir, Path(""))
|
||||
|
||||
# Map server names to documentation files
|
||||
self.server_docs_map = {
|
||||
@@ -57,7 +58,7 @@ class MCPDocsComponent(Component):
|
||||
if server_name in self.server_docs_map:
|
||||
doc_file = self.server_docs_map[server_name]
|
||||
source = source_dir / doc_file
|
||||
target = self.install_component_subdir / doc_file
|
||||
target = self.install_dir / doc_file
|
||||
if source.exists():
|
||||
files.append((source, target))
|
||||
self.logger.debug(f"Will install documentation for {server_name}: {doc_file}")
|
||||
@@ -143,6 +144,15 @@ class MCPDocsComponent(Component):
|
||||
self.settings_manager.update_metadata(metadata_mods)
|
||||
self.logger.info("Updated metadata with MCP docs component registration")
|
||||
|
||||
# Update CLAUDE.md with MCP documentation imports
|
||||
try:
|
||||
manager = CLAUDEMdManager(self.install_dir)
|
||||
manager.add_imports(self.component_files, category="MCP Documentation")
|
||||
self.logger.info("Updated CLAUDE.md with MCP documentation imports")
|
||||
except Exception as e:
|
||||
self.logger.warning(f"Failed to update CLAUDE.md with MCP documentation imports: {e}")
|
||||
# Don't fail the whole installation for this
|
||||
|
||||
return True
|
||||
except Exception as e:
|
||||
self.logger.error(f"Failed to update metadata: {e}")
|
||||
|
||||
@@ -6,6 +6,7 @@ from typing import Dict, List, Tuple, Optional, Any
|
||||
from pathlib import Path
|
||||
|
||||
from ..base.component import Component
|
||||
from ..managers.claude_md_manager import CLAUDEMdManager
|
||||
|
||||
|
||||
class ModesComponent(Component):
|
||||
@@ -13,7 +14,7 @@ class ModesComponent(Component):
|
||||
|
||||
def __init__(self, install_dir: Optional[Path] = None):
|
||||
"""Initialize modes component"""
|
||||
super().__init__(install_dir, Path("modes"))
|
||||
super().__init__(install_dir, Path(""))
|
||||
|
||||
def get_metadata(self) -> Dict[str, str]:
|
||||
"""Get component metadata"""
|
||||
@@ -77,6 +78,15 @@ class ModesComponent(Component):
|
||||
self.settings_manager.update_metadata(metadata_mods)
|
||||
self.logger.info("Updated metadata with modes component registration")
|
||||
|
||||
# Update CLAUDE.md with mode imports
|
||||
try:
|
||||
manager = CLAUDEMdManager(self.install_dir)
|
||||
manager.add_imports(self.component_files, category="Behavioral Modes")
|
||||
self.logger.info("Updated CLAUDE.md with mode imports")
|
||||
except Exception as e:
|
||||
self.logger.warning(f"Failed to update CLAUDE.md with mode imports: {e}")
|
||||
# Don't fail the whole installation for this
|
||||
|
||||
return True
|
||||
except Exception as e:
|
||||
self.logger.error(f"Failed to update metadata: {e}")
|
||||
|
||||
Reference in New Issue
Block a user