mirror of
https://github.com/SuperClaude-Org/SuperClaude_Framework.git
synced 2025-12-29 16:16:08 +00:00
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:
13
CHANGELOG.md
13
CHANGELOG.md
@@ -48,6 +48,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- Tab completion support for `/sc:` prefix to discover all SuperClaude commands
|
||||
- Guides/ directory replaces Docs/ for improved organization
|
||||
|
||||
## [4.0.6] - 2025-08-23
|
||||
|
||||
### Fixed
|
||||
- Component validation now correctly checks .superclaude-metadata.json instead of settings.json (#291)
|
||||
- Standardized version numbers across all components to 4.0.6
|
||||
- Fixed agent validation to check for correct filenames (architect vs specialist/engineer)
|
||||
- Fixed package.json version inconsistency (was 4.0.5)
|
||||
|
||||
### Changed
|
||||
- Bumped version from 4.0.4 to 4.0.6 across entire project
|
||||
- All component versions now synchronized at 4.0.6
|
||||
- Cleaned up metadata file structure for consistency
|
||||
|
||||
## [4.0.4] - 2025-08-22
|
||||
|
||||
### Added
|
||||
|
||||
@@ -518,7 +518,7 @@ This code of conduct draws inspiration from several established community standa
|
||||
|
||||
**Last Updated**: December 2024 (SuperClaude Framework v4.0)
|
||||
**Next Review**: June 2025 (Semi-annual review cycle)
|
||||
**Version**: 4.0.4 (Updated for v4 community structure and governance)
|
||||
**Version**: 4.0.6 (Updated for v4 community structure and governance)
|
||||
|
||||
**Review Schedule:**
|
||||
- **Semi-Annual Reviews**: Policy effectiveness assessment and community feedback integration
|
||||
|
||||
@@ -27,7 +27,7 @@ SuperClaude Framework transforms Claude Code into a structured development platf
|
||||
**Good Bug Report Example:**
|
||||
```
|
||||
**Environment:**
|
||||
- SuperClaude: 4.0.4
|
||||
- SuperClaude: 4.0.6
|
||||
- OS: Ubuntu 22.04
|
||||
- Claude Code: 1.5.2
|
||||
- Python: 3.9.7
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
### **Transform Claude Code with 21 Commands, 14 Agents & 6 MCP Servers**
|
||||
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/badge/version-4.0.4-blue?style=for-the-badge" alt="Version">
|
||||
<img src="https://img.shields.io/badge/version-4.0.6-blue?style=for-the-badge" alt="Version">
|
||||
<img src="https://img.shields.io/badge/Python-3.8+-green?style=for-the-badge" alt="Python">
|
||||
<img src="https://img.shields.io/badge/Platform-Linux%20|%20macOS%20|%20Windows-orange?style=for-the-badge" alt="Platform">
|
||||
</p>
|
||||
@@ -266,7 +266,7 @@ SuperClaude install --dry-run
|
||||
```bash
|
||||
# Verify SuperClaude version
|
||||
python3 -m SuperClaude --version
|
||||
# Expected: SuperClaude 4.0.4
|
||||
# Expected: SuperClaude 4.0.6
|
||||
|
||||
# List installed components
|
||||
SuperClaude install --list-components
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/badge/Framework-Context_Engineering-purple?style=for-the-badge" alt="Framework">
|
||||
<img src="https://img.shields.io/badge/Version-4.0.4-blue?style=for-the-badge" alt="Version">
|
||||
<img src="https://img.shields.io/badge/Version-4.0.6-blue?style=for-the-badge" alt="Version">
|
||||
<img src="https://img.shields.io/badge/Time_to_Start-5_Minutes-green?style=for-the-badge" alt="Quick Start">
|
||||
</p>
|
||||
|
||||
@@ -486,7 +486,7 @@ Create custom workflows
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<sub>SuperClaude v4.0.4 - Context Engineering for Claude Code</sub>
|
||||
<sub>SuperClaude v4.0.6 - Context Engineering for Claude Code</sub>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
@@ -13,7 +13,7 @@ Test: /sc:brainstorm "test" should ask questions
|
||||
|
||||
### 2. Installation Verification
|
||||
```bash
|
||||
python3 -m SuperClaude --version # Should show 4.0.4
|
||||
python3 -m SuperClaude --version # Should show 4.0.6
|
||||
|
||||
# If not working:
|
||||
# For pipx users
|
||||
@@ -71,7 +71,7 @@ pip3 install SuperClaude
|
||||
```
|
||||
|
||||
## Verification Checklist
|
||||
- [ ] `python3 -m SuperClaude --version` returns 4.0.4
|
||||
- [ ] `python3 -m SuperClaude --version` returns 4.0.6
|
||||
- [ ] `/sc:brainstorm "test"` works in Claude Code
|
||||
- [ ] `SuperClaude install --list-components` shows components
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ Quick fixes to advanced diagnostics for SuperClaude Framework issues.
|
||||
|
||||
**Installation Verification:**
|
||||
```bash
|
||||
python3 -m SuperClaude --version # Should show 4.0.4
|
||||
python3 -m SuperClaude --version # Should show 4.0.6
|
||||
SuperClaude install --list-components
|
||||
```
|
||||
|
||||
@@ -19,7 +19,7 @@ SuperClaude install --list-components
|
||||
```
|
||||
|
||||
**Resolution Checklist:**
|
||||
- [ ] Version commands work and show 4.0.4
|
||||
- [ ] Version commands work and show 4.0.6
|
||||
- [ ] `/sc:` commands respond in Claude Code
|
||||
- [ ] MCP servers listed: `SuperClaude install --list-components | grep mcp`
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ SuperClaude provides behavioral context files that Claude Code reads to adopt sp
|
||||
```bash
|
||||
# Verify SuperClaude is working (primary method)
|
||||
python3 -m SuperClaude --version
|
||||
# Example output: SuperClaude 4.0.4
|
||||
# Example output: SuperClaude 4.0.6
|
||||
|
||||
# Claude Code CLI version check
|
||||
claude --version
|
||||
|
||||
35
README.md
35
README.md
@@ -5,7 +5,7 @@
|
||||
### **Transform Claude Code into a Structured Development Platform**
|
||||
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/badge/version-4.0.4-blue?style=for-the-badge" alt="Version">
|
||||
<img src="https://img.shields.io/badge/version-4.0.6-blue?style=for-the-badge" alt="Version">
|
||||
<img src="https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge" alt="License">
|
||||
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge" alt="PRs Welcome">
|
||||
</p>
|
||||
@@ -40,24 +40,21 @@
|
||||
|
||||
| **Commands** | **Agents** | **Modes** | **MCP Servers** |
|
||||
|:------------:|:----------:|:---------:|:---------------:|
|
||||
| **21** | **14** | **5** | **6** |
|
||||
| **21** | **14** | **6** | **6** |
|
||||
| Slash Commands | Specialized AI | Behavioral | Integrations |
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
## 🎯 **Overview**
|
||||
|
||||
SuperClaude is a **meta-programming configuration framework** that transforms Claude Code into a structured development platform through behavioral instruction injection and component orchestration. It provides systematic workflow automation with powerful tools and intelligent agents.
|
||||
|
||||
</div>
|
||||
<div align="center">
|
||||
|
||||
## ⚡ **Quick Installation**
|
||||
|
||||
<div align="center">
|
||||
|
||||
### **Choose Your Installation Method**
|
||||
|
||||
| Method | Command | Best For |
|
||||
@@ -68,6 +65,30 @@ SuperClaude is a **meta-programming configuration framework** that transforms Cl
|
||||
|
||||
</div>
|
||||
|
||||
<details open>
|
||||
<summary><b>⚠️ IMPORTANT: Upgrading from SuperClaude V3</b></summary>
|
||||
|
||||
**If you have SuperClaude V3 installed, you SHOULD uninstall it before installing V4:**
|
||||
|
||||
```bash
|
||||
# Uninstall V3 first
|
||||
Remove all related files and directories :
|
||||
*.md *.json and commands/
|
||||
|
||||
# Then install V4
|
||||
pipx install SuperClaude && SuperClaude install
|
||||
```
|
||||
|
||||
**✅ What gets preserved during upgrade:**
|
||||
- ✓ Your custom slash commands (outside `commands/sc/`)
|
||||
- ✓ Your custom content in `CLAUDE.md`
|
||||
- ✓ Claude Code's `.claude.json`, `settings.json` and `settings.local.json`
|
||||
- ✓ Any custom agents and files you've added
|
||||
|
||||
**⚠️ Note:** Other SuperClaude-related `.json` files from V3 may cause conflicts and should be removed.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>💡 Troubleshooting PEP 668 Errors</b></summary>
|
||||
|
||||
|
||||
@@ -723,7 +723,7 @@ For organizations requiring dedicated security support:
|
||||
|
||||
**Last Updated**: December 2024 (SuperClaude Framework v4.0)
|
||||
**Next Review**: March 2025 (Quarterly review cycle)
|
||||
**Version**: 4.0.4 (Updated for v4 architectural changes)
|
||||
**Version**: 4.0.6 (Updated for v4 architectural changes)
|
||||
|
||||
**Review Schedule:**
|
||||
- **Quarterly Reviews**: Security policy accuracy and completeness assessment
|
||||
|
||||
@@ -11,7 +11,7 @@ Usage:
|
||||
SuperClaude --help
|
||||
"""
|
||||
|
||||
__version__ = "4.0.4"
|
||||
__version__ = "4.0.6"
|
||||
__author__ = "NomenAK, Mithun Gowda B"
|
||||
__email__ = "anton.knoery@gmail.com"
|
||||
__license__ = "MIT"
|
||||
|
||||
@@ -94,7 +94,7 @@ Examples:
|
||||
parents=[global_parser]
|
||||
)
|
||||
|
||||
parser.add_argument("--version", action="version", version="SuperClaude 4.0.4")
|
||||
parser.add_argument("--version", action="version", version="SuperClaude 4.0.6")
|
||||
|
||||
subparsers = parser.add_subparsers(
|
||||
dest="operation",
|
||||
@@ -202,7 +202,7 @@ def main() -> int:
|
||||
# No operation provided? Show help manually unless in quiet mode
|
||||
if not args.operation:
|
||||
if not args.quiet:
|
||||
display_header("SuperClaude Framework v4.0.4", "Unified CLI for all operations")
|
||||
display_header("SuperClaude Framework v4.0.6", "Unified CLI for all operations")
|
||||
print(f"{Colors.CYAN}Available operations:{Colors.RESET}")
|
||||
for op, desc in get_operation_modules().items():
|
||||
print(f" {op:<12} {desc}")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@bifrost_inc/superclaude",
|
||||
"version": "4.0.5",
|
||||
"version": "4.0.6",
|
||||
"description": "SuperClaude Framework NPM wrapper - Official Node.js wrapper for the Python SuperClaude package. Enhances Claude Code with specialized commands and AI development tools.",
|
||||
"scripts": {
|
||||
"postinstall": "node ./bin/install.js",
|
||||
|
||||
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "SuperClaude"
|
||||
version = "4.0.4"
|
||||
version = "4.0.6"
|
||||
authors = [
|
||||
{name = "NomenAK", email = "anton.knoery@gmail.com"},
|
||||
{name = "Mithun Gowda B", email = "mithungowda.b7411@gmail.com"}
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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():
|
||||
|
||||
@@ -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": {},
|
||||
|
||||
@@ -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"
|
||||
)
|
||||
|
||||
|
||||
@@ -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 = []
|
||||
|
||||
@@ -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)
|
||||
})
|
||||
|
||||
@@ -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)
|
||||
})
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"],
|
||||
|
||||
Reference in New Issue
Block a user