mirror of
https://github.com/SuperClaude-Org/SuperClaude_Framework.git
synced 2025-12-17 17:56:46 +00:00
commit
ece628309d
7
MANIFEST.in
Normal file
7
MANIFEST.in
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
include VERSION
|
||||||
|
include README.md
|
||||||
|
include LICENSE
|
||||||
|
recursive-include setup *
|
||||||
|
recursive-include SuperClaude *
|
||||||
|
recursive-include config *
|
||||||
|
recursive-include profiles *
|
||||||
20
README.md
20
README.md
@ -1,5 +1,7 @@
|
|||||||
# SuperClaude v3 🚀
|
# SuperClaude v3 🚀
|
||||||
[](https://opensource.org/licenses/MIT)
|
[](https://opensource.org/licenses/MIT)
|
||||||
|
[](https://pypi.org/project/SuperClaude/)
|
||||||
|
|
||||||
[](https://github.com/NomenAK/SuperClaude)
|
[](https://github.com/NomenAK/SuperClaude)
|
||||||
[](https://github.com/NomenAK/SuperClaude/issues)
|
[](https://github.com/NomenAK/SuperClaude/issues)
|
||||||
[](https://github.com/NomenAK/SuperClaude/blob/master/CONTRIBUTING.md)
|
[](https://github.com/NomenAK/SuperClaude/blob/master/CONTRIBUTING.md)
|
||||||
@ -91,16 +93,22 @@ This is because v3 has a different structure and the old files can cause conflic
|
|||||||
|
|
||||||
### Quick Start
|
### Quick Start
|
||||||
```bash
|
```bash
|
||||||
|
pip install SuperClaude
|
||||||
|
#Install with python-pip
|
||||||
|
```
|
||||||
|
### Install via Git
|
||||||
|
```bash
|
||||||
# Clone the repo
|
# Clone the repo
|
||||||
git clone https://github.com/NomenAK/SuperClaude.git
|
git clone https://github.com/NomenAK/SuperClaude.git
|
||||||
cd SuperClaude
|
cd SuperClaude
|
||||||
|
|
||||||
# Install with our unified CLI
|
# Install with our unified CLI
|
||||||
python3 SuperClaude.py install --quick
|
pip install .
|
||||||
|
|
||||||
# That's it! 🎉
|
# That's it! 🎉
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
**Missing Python?**
|
**Missing Python?**
|
||||||
```bash
|
```bash
|
||||||
# Linux (Ubuntu/Debian)
|
# Linux (Ubuntu/Debian)
|
||||||
@ -116,16 +124,16 @@ brew install python3
|
|||||||
### Other Installation Options
|
### Other Installation Options
|
||||||
```bash
|
```bash
|
||||||
# Minimal install (just core framework)
|
# Minimal install (just core framework)
|
||||||
python3 SuperClaude.py install --minimal
|
python3 SuperClaude install --minimal
|
||||||
|
|
||||||
# Developer setup (everything)
|
# Developer setup (everything)
|
||||||
python3 SuperClaude.py install --profile developer
|
python3 SuperClaude install --profile developer
|
||||||
|
|
||||||
# Interactive selection
|
# Interactive selection
|
||||||
python3 SuperClaude.py install
|
python3 SuperClaude install
|
||||||
|
|
||||||
# See what's available
|
# See what's available
|
||||||
python3 SuperClaude.py install --list-components
|
python3 SuperClaude install --list-components
|
||||||
```
|
```
|
||||||
|
|
||||||
The installer handles everything: framework files, MCP servers, and Claude Code configuration.
|
The installer handles everything: framework files, MCP servers, and Claude Code configuration.
|
||||||
@ -186,7 +194,7 @@ The codebase is pretty straightforward Python + documentation files.
|
|||||||
|
|
||||||
```
|
```
|
||||||
SuperClaude/
|
SuperClaude/
|
||||||
├── SuperClaude.py # Main installer CLI
|
├── setup.py # pypi setup file
|
||||||
├── SuperClaude/ # Framework files
|
├── SuperClaude/ # Framework files
|
||||||
│ ├── Core/ # Behavior documentation (COMMANDS.md, FLAGS.md, etc.)
|
│ ├── Core/ # Behavior documentation (COMMANDS.md, FLAGS.md, etc.)
|
||||||
│ ├── Commands/ # 16 slash command definitions
|
│ ├── Commands/ # 16 slash command definitions
|
||||||
|
|||||||
0
SuperClaude/Commands/__init__.py
Normal file
0
SuperClaude/Commands/__init__.py
Normal file
0
SuperClaude/Core/__init__.py
Normal file
0
SuperClaude/Core/__init__.py
Normal file
0
SuperClaude/Hooks/__init__.py
Normal file
0
SuperClaude/Hooks/__init__.py
Normal file
0
SuperClaude/__init__.py
Normal file
0
SuperClaude/__init__.py
Normal file
22
SuperClaude.py → SuperClaude/__main__.py
Executable file → Normal file
22
SuperClaude.py → SuperClaude/__main__.py
Executable file → Normal file
@ -4,11 +4,11 @@ SuperClaude Framework Management Hub
|
|||||||
Unified entry point for all SuperClaude operations
|
Unified entry point for all SuperClaude operations
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
SuperClaude.py install [options]
|
SuperClaude install [options]
|
||||||
SuperClaude.py update [options]
|
SuperClaude update [options]
|
||||||
SuperClaude.py uninstall [options]
|
SuperClaude uninstall [options]
|
||||||
SuperClaude.py backup [options]
|
SuperClaude backup [options]
|
||||||
SuperClaude.py --help
|
SuperClaude --help
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
@ -19,7 +19,8 @@ from pathlib import Path
|
|||||||
from typing import Dict, Callable
|
from typing import Dict, Callable
|
||||||
|
|
||||||
# Add the 'setup' directory to the Python import path
|
# Add the 'setup' directory to the Python import path
|
||||||
setup_dir = Path(__file__).parent / "setup"
|
from pkg_resources import resource_filename
|
||||||
|
setup_dir = resource_filename('setup', '')
|
||||||
sys.path.insert(0, str(setup_dir))
|
sys.path.insert(0, str(setup_dir))
|
||||||
|
|
||||||
# Try to import utilities from the setup package
|
# Try to import utilities from the setup package
|
||||||
@ -77,9 +78,9 @@ def create_parser():
|
|||||||
description="SuperClaude Framework Management Hub - Unified CLI",
|
description="SuperClaude Framework Management Hub - Unified CLI",
|
||||||
epilog="""
|
epilog="""
|
||||||
Examples:
|
Examples:
|
||||||
SuperClaude.py install --dry-run
|
SuperClaude install --dry-run
|
||||||
SuperClaude.py update --verbose
|
SuperClaude update --verbose
|
||||||
SuperClaude.py backup --create
|
SuperClaude backup --create
|
||||||
""",
|
""",
|
||||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||||
parents=[global_parser]
|
parents=[global_parser]
|
||||||
@ -113,7 +114,7 @@ def setup_global_environment(args: argparse.Namespace):
|
|||||||
# Log startup context
|
# Log startup context
|
||||||
logger = get_logger()
|
logger = get_logger()
|
||||||
if logger:
|
if logger:
|
||||||
logger.debug(f"SuperClaude.py called with operation: {getattr(args, 'operation', 'None')}")
|
logger.debug(f"SuperClaude called with operation: {getattr(args, 'operation', 'None')}")
|
||||||
logger.debug(f"Arguments: {vars(args)}")
|
logger.debug(f"Arguments: {vars(args)}")
|
||||||
|
|
||||||
|
|
||||||
@ -239,3 +240,4 @@ def main() -> int:
|
|||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
sys.exit(main())
|
sys.exit(main())
|
||||||
|
|
||||||
|
|
||||||
0
config/__init__.py
Normal file
0
config/__init__.py
Normal file
0
profiles/__init__.py
Normal file
0
profiles/__init__.py
Normal file
4
pyproject.toml
Normal file
4
pyproject.toml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[build-system]
|
||||||
|
requires = ["setuptools>=61.0"]
|
||||||
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
40
setup.py
Normal file
40
setup.py
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
import setuptools
|
||||||
|
|
||||||
|
with open("README.md", "r", encoding="utf-8") as fh:
|
||||||
|
long_description = fh.read()
|
||||||
|
|
||||||
|
with open("VERSION", "r") as f:
|
||||||
|
version = f.read().strip()
|
||||||
|
|
||||||
|
setuptools.setup(
|
||||||
|
name="SuperClaude",
|
||||||
|
version=version,
|
||||||
|
author="Mithun Gowda B, NomenAK",
|
||||||
|
author_email="contact@superclaude.dev",
|
||||||
|
description="SuperClaude Framework Management Hub",
|
||||||
|
long_description=long_description,
|
||||||
|
long_description_content_type="text/markdown",
|
||||||
|
url="https://github.com/NomenAK/SuperClaude",
|
||||||
|
packages=setuptools.find_packages(),
|
||||||
|
include_package_data=True,
|
||||||
|
install_requires=["setuptools"],
|
||||||
|
entry_points={
|
||||||
|
"console_scripts": [
|
||||||
|
"SuperClaude=SuperClaude.__main__:main",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
python_requires=">=3.6",
|
||||||
|
project_urls={
|
||||||
|
"GitHub": "https://github.com/NomenAK/SuperClaude",
|
||||||
|
"Mithun Gowda B": "https://github.com/mithun50",
|
||||||
|
"NomenAK": "https://github.com/NomenAK",
|
||||||
|
"Bug Tracker": "https://github.com/NomenAK/SuperClaude/issues",
|
||||||
|
},
|
||||||
|
classifiers=[
|
||||||
|
"Programming Language :: Python :: 3",
|
||||||
|
"Operating System :: OS Independent",
|
||||||
|
"License :: OSI Approved :: MIT License",
|
||||||
|
"Development Status :: 4 - Beta",
|
||||||
|
"Intended Audience :: Developers",
|
||||||
|
],
|
||||||
|
)
|
||||||
@ -2,7 +2,7 @@
|
|||||||
SuperClaude Operations Module
|
SuperClaude Operations Module
|
||||||
|
|
||||||
This module contains all SuperClaude management operations that can be
|
This module contains all SuperClaude management operations that can be
|
||||||
executed through the unified CLI hub (SuperClaude.py).
|
executed through the unified CLI hub (SuperClaude).
|
||||||
|
|
||||||
Each operation module should implement:
|
Each operation module should implement:
|
||||||
- register_parser(subparsers): Register CLI arguments for the operation
|
- register_parser(subparsers): Register CLI arguments for the operation
|
||||||
|
|||||||
@ -40,12 +40,12 @@ def register_parser(subparsers, global_parser=None) -> argparse.ArgumentParser:
|
|||||||
description="Create, list, restore, and manage SuperClaude installation backups",
|
description="Create, list, restore, and manage SuperClaude installation backups",
|
||||||
epilog="""
|
epilog="""
|
||||||
Examples:
|
Examples:
|
||||||
SuperClaude.py backup --create # Create new backup
|
SuperClaude backup --create # Create new backup
|
||||||
SuperClaude.py backup --list --verbose # List available backups (verbose)
|
SuperClaude backup --list --verbose # List available backups (verbose)
|
||||||
SuperClaude.py backup --restore # Interactive restore
|
SuperClaude backup --restore # Interactive restore
|
||||||
SuperClaude.py backup --restore backup.tar.gz # Restore specific backup
|
SuperClaude backup --restore backup.tar.gz # Restore specific backup
|
||||||
SuperClaude.py backup --info backup.tar.gz # Show backup information
|
SuperClaude backup --info backup.tar.gz # Show backup information
|
||||||
SuperClaude.py backup --cleanup --force # Clean up old backups (forced)
|
SuperClaude backup --cleanup --force # Clean up old backups (forced)
|
||||||
""",
|
""",
|
||||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||||
parents=parents
|
parents=parents
|
||||||
|
|||||||
@ -39,11 +39,11 @@ def register_parser(subparsers, global_parser=None) -> argparse.ArgumentParser:
|
|||||||
description="Install SuperClaude Framework with various options and profiles",
|
description="Install SuperClaude Framework with various options and profiles",
|
||||||
epilog="""
|
epilog="""
|
||||||
Examples:
|
Examples:
|
||||||
SuperClaude.py install # Interactive installation
|
SuperClaude install # Interactive installation
|
||||||
SuperClaude.py install --quick --dry-run # Quick installation (dry-run)
|
SuperClaude install --quick --dry-run # Quick installation (dry-run)
|
||||||
SuperClaude.py install --profile developer # Developer profile
|
SuperClaude install --profile developer # Developer profile
|
||||||
SuperClaude.py install --components core mcp # Specific components
|
SuperClaude install --components core mcp # Specific components
|
||||||
SuperClaude.py install --verbose --force # Verbose with force mode
|
SuperClaude install --verbose --force # Verbose with force mode
|
||||||
""",
|
""",
|
||||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||||
parents=parents
|
parents=parents
|
||||||
@ -121,7 +121,7 @@ def validate_system_requirements(validator: Validator, component_names: List[str
|
|||||||
|
|
||||||
# Provide additional guidance
|
# Provide additional guidance
|
||||||
print(f"\n{Colors.CYAN}💡 Installation Help:{Colors.RESET}")
|
print(f"\n{Colors.CYAN}💡 Installation Help:{Colors.RESET}")
|
||||||
print(" Run 'SuperClaude.py install --diagnose' for detailed system diagnostics")
|
print(" Run 'SuperClaude install --diagnose' for detailed system diagnostics")
|
||||||
print(" and step-by-step installation instructions.")
|
print(" and step-by-step installation instructions.")
|
||||||
|
|
||||||
return False
|
return False
|
||||||
@ -321,12 +321,12 @@ def run_system_diagnostics(validator: Validator) -> None:
|
|||||||
|
|
||||||
print(f"\n{Colors.BLUE}Next steps:{Colors.RESET}")
|
print(f"\n{Colors.BLUE}Next steps:{Colors.RESET}")
|
||||||
if all_passed:
|
if all_passed:
|
||||||
print(" 1. Run 'SuperClaude.py install' to proceed with installation")
|
print(" 1. Run 'SuperClaude install' to proceed with installation")
|
||||||
print(" 2. Choose your preferred installation mode (quick, minimal, or custom)")
|
print(" 2. Choose your preferred installation mode (quick, minimal, or custom)")
|
||||||
else:
|
else:
|
||||||
print(" 1. Install missing dependencies using the commands above")
|
print(" 1. Install missing dependencies using the commands above")
|
||||||
print(" 2. Restart your terminal after installing tools")
|
print(" 2. Restart your terminal after installing tools")
|
||||||
print(" 3. Run 'SuperClaude.py install --diagnose' again to verify")
|
print(" 3. Run 'SuperClaude install --diagnose' again to verify")
|
||||||
|
|
||||||
|
|
||||||
def perform_installation(components: List[str], args: argparse.Namespace) -> bool:
|
def perform_installation(components: List[str], args: argparse.Namespace) -> bool:
|
||||||
|
|||||||
@ -38,10 +38,10 @@ def register_parser(subparsers, global_parser=None) -> argparse.ArgumentParser:
|
|||||||
description="Uninstall SuperClaude Framework components",
|
description="Uninstall SuperClaude Framework components",
|
||||||
epilog="""
|
epilog="""
|
||||||
Examples:
|
Examples:
|
||||||
SuperClaude.py uninstall # Interactive uninstall
|
SuperClaude uninstall # Interactive uninstall
|
||||||
SuperClaude.py uninstall --components core # Remove specific components
|
SuperClaude uninstall --components core # Remove specific components
|
||||||
SuperClaude.py uninstall --complete --force # Complete removal (forced)
|
SuperClaude uninstall --complete --force # Complete removal (forced)
|
||||||
SuperClaude.py uninstall --keep-backups # Keep backup files
|
SuperClaude uninstall --keep-backups # Keep backup files
|
||||||
""",
|
""",
|
||||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||||
parents=parents
|
parents=parents
|
||||||
@ -484,7 +484,7 @@ def run(args: argparse.Namespace) -> int:
|
|||||||
print(f"\n{Colors.CYAN}Uninstall complete:{Colors.RESET}")
|
print(f"\n{Colors.CYAN}Uninstall complete:{Colors.RESET}")
|
||||||
print(f"SuperClaude has been removed from {args.install_dir}")
|
print(f"SuperClaude has been removed from {args.install_dir}")
|
||||||
if not args.complete:
|
if not args.complete:
|
||||||
print(f"You can reinstall anytime using 'SuperClaude.py install'")
|
print(f"You can reinstall anytime using 'SuperClaude install'")
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
else:
|
else:
|
||||||
|
|||||||
@ -40,10 +40,10 @@ def register_parser(subparsers, global_parser=None) -> argparse.ArgumentParser:
|
|||||||
description="Update SuperClaude Framework components to latest versions",
|
description="Update SuperClaude Framework components to latest versions",
|
||||||
epilog="""
|
epilog="""
|
||||||
Examples:
|
Examples:
|
||||||
SuperClaude.py update # Interactive update
|
SuperClaude update # Interactive update
|
||||||
SuperClaude.py update --check --verbose # Check for updates (verbose)
|
SuperClaude update --check --verbose # Check for updates (verbose)
|
||||||
SuperClaude.py update --components core mcp # Update specific components
|
SuperClaude update --components core mcp # Update specific components
|
||||||
SuperClaude.py update --backup --force # Create backup before update (forced)
|
SuperClaude update --backup --force # Create backup before update (forced)
|
||||||
""",
|
""",
|
||||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||||
parents=parents
|
parents=parents
|
||||||
@ -354,7 +354,7 @@ def run(args: argparse.Namespace) -> int:
|
|||||||
# Check if SuperClaude is installed
|
# Check if SuperClaude is installed
|
||||||
if not check_installation_exists(args.install_dir):
|
if not check_installation_exists(args.install_dir):
|
||||||
logger.error(f"SuperClaude installation not found in {args.install_dir}")
|
logger.error(f"SuperClaude installation not found in {args.install_dir}")
|
||||||
logger.info("Use 'SuperClaude.py install' to install SuperClaude first")
|
logger.info("Use 'SuperClaude install' to install SuperClaude first")
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
# Create component registry
|
# Create component registry
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user