diff --git a/CHANGELOG.md b/CHANGELOG.md
index d8dd82d..9135754 100644
--- a/CHANGELOG.md
+++ b/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
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index e89933d..d4b33be 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -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
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 9ab8c98..11d9544 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -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
diff --git a/Docs/Getting-Started/installation.md b/Docs/Getting-Started/installation.md
index 9b83243..d32d1f1 100644
--- a/Docs/Getting-Started/installation.md
+++ b/Docs/Getting-Started/installation.md
@@ -5,7 +5,7 @@
### **Transform Claude Code with 21 Commands, 14 Agents & 6 MCP Servers**
-
+
@@ -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
diff --git a/Docs/Getting-Started/quick-start.md b/Docs/Getting-Started/quick-start.md
index 3100c7c..ca84efa 100644
--- a/Docs/Getting-Started/quick-start.md
+++ b/Docs/Getting-Started/quick-start.md
@@ -6,7 +6,7 @@
-
+
@@ -486,7 +486,7 @@ Create custom workflows
- SuperClaude v4.0.4 - Context Engineering for Claude Code
+ SuperClaude v4.0.6 - Context Engineering for Claude Code
\ No newline at end of file
diff --git a/Docs/Reference/common-issues.md b/Docs/Reference/common-issues.md
index e2575d4..fa190c9 100644
--- a/Docs/Reference/common-issues.md
+++ b/Docs/Reference/common-issues.md
@@ -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
diff --git a/Docs/Reference/troubleshooting.md b/Docs/Reference/troubleshooting.md
index 661ed39..117b1f1 100644
--- a/Docs/Reference/troubleshooting.md
+++ b/Docs/Reference/troubleshooting.md
@@ -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`
diff --git a/Docs/User-Guide/commands.md b/Docs/User-Guide/commands.md
index 4a65b5e..173f0ae 100644
--- a/Docs/User-Guide/commands.md
+++ b/Docs/User-Guide/commands.md
@@ -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
diff --git a/README.md b/README.md
index 5dbef55..295108d 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
### **Transform Claude Code into a Structured Development Platform**
-
+
@@ -40,24 +40,21 @@
| **Commands** | **Agents** | **Modes** | **MCP Servers** |
|:------------:|:----------:|:---------:|:---------------:|
-| **21** | **14** | **5** | **6** |
+| **21** | **14** | **6** | **6** |
| Slash Commands | Specialized AI | Behavioral | Integrations |
---
-
-
## 🎯 **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.
-
-
-
## ⚡ **Quick Installation**
+
+
### **Choose Your Installation Method**
| Method | Command | Best For |
@@ -68,6 +65,30 @@ SuperClaude is a **meta-programming configuration framework** that transforms Cl
+
+⚠️ IMPORTANT: Upgrading from SuperClaude V3
+
+**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.
+
+
+
💡 Troubleshooting PEP 668 Errors
diff --git a/SECURITY.md b/SECURITY.md
index 6504d95..2217861 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -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
diff --git a/SuperClaude/__init__.py b/SuperClaude/__init__.py
index fb011f0..3860840 100644
--- a/SuperClaude/__init__.py
+++ b/SuperClaude/__init__.py
@@ -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"
diff --git a/SuperClaude/__main__.py b/SuperClaude/__main__.py
index 95a38ad..dfc787e 100644
--- a/SuperClaude/__main__.py
+++ b/SuperClaude/__main__.py
@@ -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}")
diff --git a/VERSION b/VERSION
index 7d666cb..9eefef7 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-4.0.4
\ No newline at end of file
+4.0.6
\ No newline at end of file
diff --git a/package.json b/package.json
index b006ab7..bf15503 100644
--- a/package.json
+++ b/package.json
@@ -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",
diff --git a/pyproject.toml b/pyproject.toml
index 9e17ecb..a1c1c4f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -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"}
diff --git a/setup/__init__.py b/setup/__init__.py
index 5c7d4ef..562b5d6 100644
--- a/setup/__init__.py
+++ b/setup/__init__.py
@@ -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"
diff --git a/setup/cli/base.py b/setup/cli/base.py
index fdbb409..dc25c9f 100644
--- a/setup/cli/base.py
+++ b/setup/cli/base.py
@@ -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():
diff --git a/setup/cli/commands/backup.py b/setup/cli/commands/backup.py
index b89b418..e664e2e 100644
--- a/setup/cli/commands/backup.py
+++ b/setup/cli/commands/backup.py
@@ -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": {},
diff --git a/setup/cli/commands/update.py b/setup/cli/commands/update.py
index 447bf42..410b98c 100644
--- a/setup/cli/commands/update.py
+++ b/setup/cli/commands/update.py
@@ -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"
)
diff --git a/setup/components/agents.py b/setup/components/agents.py
index 87f92a5..0a81384 100644
--- a/setup/components/agents.py
+++ b/setup/components/agents.py
@@ -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 = []
diff --git a/setup/components/commands.py b/setup/components/commands.py
index b9ca1bb..3f6bb88 100644
--- a/setup/components/commands.py
+++ b/setup/components/commands.py
@@ -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)
})
diff --git a/setup/components/core.py b/setup/components/core.py
index f21fa2e..d664362 100644
--- a/setup/components/core.py
+++ b/setup/components/core.py
@@ -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)
})
diff --git a/setup/components/mcp.py b/setup/components/mcp.py
index 8513aa6..94c7c1e 100644
--- a/setup/components/mcp.py
+++ b/setup/components/mcp.py
@@ -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
diff --git a/setup/components/mcp_docs.py b/setup/components/mcp_docs.py
index c2520dc..9fc1f6f 100644
--- a/setup/components/mcp_docs.py
+++ b/setup/components/mcp_docs.py
@@ -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
diff --git a/setup/components/modes.py b/setup/components/modes.py
index 4758aba..0f77d7f 100644
--- a/setup/components/modes.py
+++ b/setup/components/modes.py
@@ -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)
}
diff --git a/setup/core/base.py b/setup/core/base.py
index 10296d7..cea9892 100644
--- a/setup/core/base.py
+++ b/setup/core/base.py
@@ -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
diff --git a/setup/data/features.json b/setup/data/features.json
index f219bd4..da29617 100644
--- a/setup/data/features.json
+++ b/setup/data/features.json
@@ -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"],