Implement dynamic version loading system

- Convert all hardcoded versions to dynamic loading from VERSION file
- Reduce version update locations from 50+ to just 3 files
- Add proper fallback handling for version reading
- Update all CLI commands to use dynamic __version__
- Streamline future version management process

This change makes version bumping much simpler - only need to update:
1. VERSION file
2. package.json
3. pyproject.toml
This commit is contained in:
NomenAK
2025-08-23 14:10:11 +02:00
parent 4831319a10
commit 9abaa10366
15 changed files with 57 additions and 30 deletions

View File

@@ -6,6 +6,7 @@ from typing import Dict, List, Tuple, Optional, Any
from pathlib import Path
from ..core.base import Component
from setup import __version__
class CommandsComponent(Component):
"""SuperClaude slash commands component"""
@@ -18,7 +19,7 @@ class CommandsComponent(Component):
"""Get component metadata"""
return {
"name": "commands",
"version": "4.0.7",
"version": __version__,
"description": "SuperClaude slash command definitions",
"category": "commands"
}
@@ -28,14 +29,14 @@ class CommandsComponent(Component):
return {
"components": {
"commands": {
"version": "4.0.7",
"version": __version__,
"installed": True,
"files_count": len(self.component_files)
}
},
"commands": {
"enabled": True,
"version": "4.0.7",
"version": __version__,
"auto_update": False
}
}
@@ -58,7 +59,7 @@ class CommandsComponent(Component):
# Add component registration to metadata
self.settings_manager.add_component_registration("commands", {
"version": "4.0.7",
"version": __version__,
"category": "commands",
"files_count": len(self.component_files)
})