Fix component validation and bump version to 4.0.6 (#292)

*  Enhance documentation with advanced markdown formatting

Major improvements to documentation presentation and usability:

README.md:
- Added centered hero section with framework statistics dashboard
- Created visual support section with donation cards
- Enhanced What's New section with feature grid layout
- Reorganized documentation links into categorized table
- Added professional badges and visual separators

installation.md:
- Centered title with platform badges and quick navigation
- Consolidated 4 installation methods into unified table
- Created visual requirement cards (Required vs Optional)
- Added collapsible troubleshooting sections
- Removed 3 duplicate "What's Next" sections
- Enhanced learning journey with progression tables

quick-start.md:
- Added visual framework architecture flow diagram
- Created component statistics dashboard (21|14|6|6)
- Built comparison table for SuperClaude vs Standard Claude
- Added 4-week learning timeline with milestones
- Enhanced workflow patterns with step-by-step tables
- Created key insights cards explaining framework philosophy

All documents now feature consistent styling with centered titles,
organized tables, emojis for visual scanning, and improved navigation.

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

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

* 🔥 Remove outdated publishing and release instruction files

Cleaned up repository by removing:
- PUBLISHING.md: Outdated publishing guidelines
- RELEASE_INSTRUCTIONS.md: Old release process documentation

These files are no longer needed as the project has evolved
and the processes have been streamlined or moved elsewhere.

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

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

* 🐛 Fix component validation to check metadata file instead of settings.json

Resolves #291 - Validation errors after V4 upgrade

## Changes
- Fixed validation logic to check .superclaude-metadata.json instead of settings.json
- Standardized all component versions to 4.0.4 across the framework
- Fixed agent validation to check for correct filenames (architect vs specialist/engineer)
- Cleaned up metadata file structure for consistency

## Technical Details
The issue was caused by components registering in .superclaude-metadata.json but
validation checking settings.json for component registration. This mismatch caused
false validation errors even though components were properly installed.

## Testing
All components now validate successfully with the corrected logic.

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

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

* 🔖 Bump version to 4.0.6 across entire project

## Summary
Comprehensive version update from 4.0.4 to 4.0.6 with validation fixes

## Changes
- Updated VERSION file, pyproject.toml, and package.json
- Updated all Python __version__ declarations (8 occurrences)
- Updated all component metadata versions (6 components, 25+ occurrences)
- Updated documentation and README version badges (11 files)
- Fixed package.json inconsistency (was 4.0.5)
- Updated legacy backup.py version reference (was 3.0.0)
- Added CHANGELOG entry for version 4.0.6

## Files Modified (26 total)
- Core: VERSION, pyproject.toml, package.json
- Python: SuperClaude/__init__.py, __main__.py, setup/__init__.py, cli/base.py
- Components: core.py, commands.py, agents.py, mcp.py, mcp_docs.py, modes.py
- Docs: README.md, CONTRIBUTING.md, SECURITY.md, installation.md, quick-start.md
- Config: features.json, backup.py, update.py
- User: ~/.claude/.superclaude-metadata.json

## Verification
All version references now consistently show 4.0.6
Historical references in CHANGELOG preserved as intended

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

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

* 📝 Update README.md installation instructions

---------

Signed-off-by: NomenAK <39598727+NomenAK@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
NomenAK
2025-08-23 12:08:09 +02:00
committed by GitHub
parent 4d0b76711a
commit 9e685b7326
27 changed files with 100 additions and 66 deletions

View File

@@ -8,7 +8,7 @@ from pathlib import Path
try:
__version__ = (Path(__file__).parent.parent / "VERSION").read_text().strip()
except Exception:
__version__ = "4.0.4" # Fallback
__version__ = "4.0.6" # Fallback
__author__ = "NomenAK"

View File

@@ -4,7 +4,7 @@ SuperClaude CLI Base Module
Base class for all CLI operations providing common functionality
"""
__version__ = "3.0.0"
__version__ = "4.0.6"
def get_command_info():

View File

@@ -234,7 +234,7 @@ def display_backup_list(backups: List[Dict[str, Any]]) -> None:
def create_backup_metadata(install_dir: Path) -> Dict[str, Any]:
"""Create metadata for the backup"""
metadata = {
"backup_version": "3.0.0",
"backup_version": "4.0.6",
"created": datetime.now().isoformat(),
"install_dir": str(install_dir),
"components": {},

View File

@@ -405,7 +405,7 @@ def run(args: argparse.Namespace) -> int:
# Display header
if not args.quiet:
display_header(
"SuperClaude Update v3.0",
"SuperClaude Update v4.0.6",
"Updating SuperClaude framework components"
)

View File

@@ -19,7 +19,7 @@ class AgentsComponent(Component):
"""Get component metadata"""
return {
"name": "agents",
"version": "4.0.4",
"version": "4.0.6",
"description": "14 specialized AI agents with domain expertise and intelligent routing",
"category": "agents"
}
@@ -29,7 +29,7 @@ class AgentsComponent(Component):
return {
"components": {
"agents": {
"version": "4.0.4",
"version": "4.0.6",
"installed": True,
"agents_count": len(self.component_files),
"install_directory": str(self.install_component_subdir)
@@ -63,7 +63,7 @@ class AgentsComponent(Component):
# Add component registration
self.settings_manager.add_component_registration("agents", {
"version": "4.0.4",
"version": "4.0.6",
"category": "agents",
"agents_count": len(self.component_files),
"agents_list": self.component_files
@@ -216,16 +216,16 @@ class AgentsComponent(Component):
if missing_agents:
errors.append(f"Missing agent files: {missing_agents}")
# Check version in settings
# Check version in metadata
if not self.get_installed_version():
errors.append("Agents component not registered in metadata")
# Check if at least some standard agents are present
expected_agents = [
"system-architect.md",
"frontend-specialist.md",
"backend-engineer.md",
"security-auditor.md"
"frontend-architect.md",
"backend-architect.md",
"security-engineer.md"
]
missing_core_agents = []

View File

@@ -18,7 +18,7 @@ class CommandsComponent(Component):
"""Get component metadata"""
return {
"name": "commands",
"version": "3.0.0",
"version": "4.0.6",
"description": "SuperClaude slash command definitions",
"category": "commands"
}
@@ -28,14 +28,14 @@ class CommandsComponent(Component):
return {
"components": {
"commands": {
"version": "3.0.0",
"version": "4.0.6",
"installed": True,
"files_count": len(self.component_files)
}
},
"commands": {
"enabled": True,
"version": "3.0.0",
"version": "4.0.6",
"auto_update": False
}
}
@@ -58,7 +58,7 @@ class CommandsComponent(Component):
# Add component registration to metadata
self.settings_manager.add_component_registration("commands", {
"version": "3.0.0",
"version": "4.0.6",
"category": "commands",
"files_count": len(self.component_files)
})

View File

@@ -20,7 +20,7 @@ class CoreComponent(Component):
"""Get component metadata"""
return {
"name": "core",
"version": "3.0.0",
"version": "4.0.6",
"description": "SuperClaude framework documentation and core files",
"category": "core"
}
@@ -29,7 +29,7 @@ class CoreComponent(Component):
"""Get metadata modifications for SuperClaude"""
return {
"framework": {
"version": "3.0.0",
"version": "4.0.6",
"name": "SuperClaude",
"description": "AI-enhanced development framework for Claude Code",
"installation_type": "global",
@@ -37,7 +37,7 @@ class CoreComponent(Component):
},
"superclaude": {
"enabled": True,
"version": "3.0.0",
"version": "4.0.6",
"profile": "default",
"auto_update": False
}
@@ -58,7 +58,7 @@ class CoreComponent(Component):
# Add component registration to metadata
self.settings_manager.add_component_registration("core", {
"version": "3.0.0",
"version": "4.0.6",
"category": "core",
"files_count": len(self.component_files)
})

View File

@@ -102,7 +102,7 @@ class MCPComponent(Component):
"""Get component metadata"""
return {
"name": "mcp",
"version": "4.0.4",
"version": "4.0.6",
"description": "MCP server configuration management via .claude.json",
"category": "integration"
}
@@ -348,7 +348,7 @@ class MCPComponent(Component):
metadata_mods = {
"components": {
"mcp": {
"version": "4.0.4",
"version": "4.0.6",
"installed": True,
"servers_configured": len(self.selected_servers),
"configured_servers": self.selected_servers

View File

@@ -34,7 +34,7 @@ class MCPDocsComponent(Component):
"""Get component metadata"""
return {
"name": "mcp_docs",
"version": "4.0.4",
"version": "4.0.6",
"description": "MCP server documentation and usage guides",
"category": "documentation"
}
@@ -135,7 +135,7 @@ class MCPDocsComponent(Component):
metadata_mods = {
"components": {
"mcp_docs": {
"version": "4.0.4",
"version": "4.0.6",
"installed": True,
"files_count": len(self.component_files),
"servers_documented": self.selected_servers

View File

@@ -20,7 +20,7 @@ class ModesComponent(Component):
"""Get component metadata"""
return {
"name": "modes",
"version": "4.0.4",
"version": "4.0.6",
"description": "SuperClaude behavioral modes (Brainstorming, Introspection, Task Management, Token Efficiency)",
"category": "modes"
}
@@ -69,7 +69,7 @@ class ModesComponent(Component):
metadata_mods = {
"components": {
"modes": {
"version": "4.0.4",
"version": "4.0.6",
"installed": True,
"files_count": len(self.component_files)
}

View File

@@ -228,20 +228,20 @@ class Component(ABC):
Version string if installed, None otherwise
"""
self.logger.debug("Checking installed version")
settings_file = self.install_dir / "settings.json"
if settings_file.exists():
self.logger.debug("Settings file exists, reading version")
metadata_file = self.install_dir / ".superclaude-metadata.json"
if metadata_file.exists():
self.logger.debug("Metadata file exists, reading version")
try:
with open(settings_file, 'r') as f:
settings = json.load(f)
with open(metadata_file, 'r') as f:
metadata = json.load(f)
component_name = self.get_metadata()['name']
version = settings.get('components', {}).get(component_name, {}).get('version')
version = metadata.get('components', {}).get(component_name, {}).get('version')
self.logger.debug(f"Found version: {version}")
return version
except Exception as e:
self.logger.warning(f"Failed to read version from settings: {e}")
self.logger.warning(f"Failed to read version from metadata: {e}")
else:
self.logger.debug("Settings file does not exist")
self.logger.debug("Metadata file does not exist")
return None
def is_installed(self) -> bool:
@@ -267,9 +267,9 @@ class Component(ABC):
if not target.exists():
errors.append(f"Missing file: {target}")
# Check version in settings
# Check version in metadata
if not self.get_installed_version():
errors.append("Component not registered in settings.json")
errors.append("Component not registered in .superclaude-metadata.json")
return len(errors) == 0, errors

View File

@@ -2,7 +2,7 @@
"components": {
"core": {
"name": "core",
"version": "4.0.4",
"version": "4.0.6",
"description": "SuperClaude framework documentation and core files",
"category": "core",
"dependencies": [],
@@ -11,7 +11,7 @@
},
"commands": {
"name": "commands",
"version": "4.0.4",
"version": "4.0.6",
"description": "SuperClaude slash command definitions",
"category": "commands",
"dependencies": ["core"],
@@ -20,7 +20,7 @@
},
"mcp": {
"name": "mcp",
"version": "4.0.4",
"version": "4.0.6",
"description": "MCP server configuration management via .claude.json",
"category": "integration",
"dependencies": ["core"],
@@ -29,7 +29,7 @@
},
"modes": {
"name": "modes",
"version": "4.0.4",
"version": "4.0.6",
"description": "SuperClaude behavioral modes (Brainstorming, Introspection, Task Management, Token Efficiency)",
"category": "modes",
"dependencies": ["core"],
@@ -38,7 +38,7 @@
},
"mcp_docs": {
"name": "mcp_docs",
"version": "4.0.4",
"version": "4.0.6",
"description": "MCP server documentation and usage guides",
"category": "documentation",
"dependencies": ["core"],
@@ -47,7 +47,7 @@
},
"agents": {
"name": "agents",
"version": "4.0.4",
"version": "4.0.6",
"description": "14 specialized AI agents with domain expertise and intelligent routing",
"category": "agents",
"dependencies": ["core"],