mirror of
https://github.com/SuperClaude-Org/SuperClaude_Framework.git
synced 2025-12-17 09:46:06 +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 🚀
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
[](https://pypi.org/project/SuperClaude/)
|
||||
|
||||
[](https://github.com/NomenAK/SuperClaude)
|
||||
[](https://github.com/NomenAK/SuperClaude/issues)
|
||||
[](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
|
||||
```bash
|
||||
pip install SuperClaude
|
||||
#Install with python-pip
|
||||
```
|
||||
### Install via Git
|
||||
```bash
|
||||
# Clone the repo
|
||||
git clone https://github.com/NomenAK/SuperClaude.git
|
||||
cd SuperClaude
|
||||
|
||||
# Install with our unified CLI
|
||||
python3 SuperClaude.py install --quick
|
||||
pip install .
|
||||
|
||||
# That's it! 🎉
|
||||
```
|
||||
|
||||
|
||||
**Missing Python?**
|
||||
```bash
|
||||
# Linux (Ubuntu/Debian)
|
||||
@ -116,16 +124,16 @@ brew install python3
|
||||
### Other Installation Options
|
||||
```bash
|
||||
# Minimal install (just core framework)
|
||||
python3 SuperClaude.py install --minimal
|
||||
python3 SuperClaude install --minimal
|
||||
|
||||
# Developer setup (everything)
|
||||
python3 SuperClaude.py install --profile developer
|
||||
python3 SuperClaude install --profile developer
|
||||
|
||||
# Interactive selection
|
||||
python3 SuperClaude.py install
|
||||
python3 SuperClaude install
|
||||
|
||||
# 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.
|
||||
@ -186,7 +194,7 @@ The codebase is pretty straightforward Python + documentation files.
|
||||
|
||||
```
|
||||
SuperClaude/
|
||||
├── SuperClaude.py # Main installer CLI
|
||||
├── setup.py # pypi setup file
|
||||
├── SuperClaude/ # Framework files
|
||||
│ ├── Core/ # Behavior documentation (COMMANDS.md, FLAGS.md, etc.)
|
||||
│ ├── 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
|
||||
|
||||
Usage:
|
||||
SuperClaude.py install [options]
|
||||
SuperClaude.py update [options]
|
||||
SuperClaude.py uninstall [options]
|
||||
SuperClaude.py backup [options]
|
||||
SuperClaude.py --help
|
||||
SuperClaude install [options]
|
||||
SuperClaude update [options]
|
||||
SuperClaude uninstall [options]
|
||||
SuperClaude backup [options]
|
||||
SuperClaude --help
|
||||
"""
|
||||
|
||||
import sys
|
||||
@ -19,7 +19,8 @@ from pathlib import Path
|
||||
from typing import Dict, Callable
|
||||
|
||||
# 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))
|
||||
|
||||
# Try to import utilities from the setup package
|
||||
@ -77,9 +78,9 @@ def create_parser():
|
||||
description="SuperClaude Framework Management Hub - Unified CLI",
|
||||
epilog="""
|
||||
Examples:
|
||||
SuperClaude.py install --dry-run
|
||||
SuperClaude.py update --verbose
|
||||
SuperClaude.py backup --create
|
||||
SuperClaude install --dry-run
|
||||
SuperClaude update --verbose
|
||||
SuperClaude backup --create
|
||||
""",
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
parents=[global_parser]
|
||||
@ -113,7 +114,7 @@ def setup_global_environment(args: argparse.Namespace):
|
||||
# Log startup context
|
||||
logger = get_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)}")
|
||||
|
||||
|
||||
@ -239,3 +240,4 @@ def main() -> int:
|
||||
if __name__ == "__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
|
||||
|
||||
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:
|
||||
- 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",
|
||||
epilog="""
|
||||
Examples:
|
||||
SuperClaude.py backup --create # Create new backup
|
||||
SuperClaude.py backup --list --verbose # List available backups (verbose)
|
||||
SuperClaude.py backup --restore # Interactive restore
|
||||
SuperClaude.py backup --restore backup.tar.gz # Restore specific backup
|
||||
SuperClaude.py backup --info backup.tar.gz # Show backup information
|
||||
SuperClaude.py backup --cleanup --force # Clean up old backups (forced)
|
||||
SuperClaude backup --create # Create new backup
|
||||
SuperClaude backup --list --verbose # List available backups (verbose)
|
||||
SuperClaude backup --restore # Interactive restore
|
||||
SuperClaude backup --restore backup.tar.gz # Restore specific backup
|
||||
SuperClaude backup --info backup.tar.gz # Show backup information
|
||||
SuperClaude backup --cleanup --force # Clean up old backups (forced)
|
||||
""",
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
parents=parents
|
||||
|
||||
@ -39,11 +39,11 @@ def register_parser(subparsers, global_parser=None) -> argparse.ArgumentParser:
|
||||
description="Install SuperClaude Framework with various options and profiles",
|
||||
epilog="""
|
||||
Examples:
|
||||
SuperClaude.py install # Interactive installation
|
||||
SuperClaude.py install --quick --dry-run # Quick installation (dry-run)
|
||||
SuperClaude.py install --profile developer # Developer profile
|
||||
SuperClaude.py install --components core mcp # Specific components
|
||||
SuperClaude.py install --verbose --force # Verbose with force mode
|
||||
SuperClaude install # Interactive installation
|
||||
SuperClaude install --quick --dry-run # Quick installation (dry-run)
|
||||
SuperClaude install --profile developer # Developer profile
|
||||
SuperClaude install --components core mcp # Specific components
|
||||
SuperClaude install --verbose --force # Verbose with force mode
|
||||
""",
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
parents=parents
|
||||
@ -121,7 +121,7 @@ def validate_system_requirements(validator: Validator, component_names: List[str
|
||||
|
||||
# Provide additional guidance
|
||||
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.")
|
||||
|
||||
return False
|
||||
@ -321,12 +321,12 @@ def run_system_diagnostics(validator: Validator) -> None:
|
||||
|
||||
print(f"\n{Colors.BLUE}Next steps:{Colors.RESET}")
|
||||
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)")
|
||||
else:
|
||||
print(" 1. Install missing dependencies using the commands above")
|
||||
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:
|
||||
|
||||
@ -38,10 +38,10 @@ def register_parser(subparsers, global_parser=None) -> argparse.ArgumentParser:
|
||||
description="Uninstall SuperClaude Framework components",
|
||||
epilog="""
|
||||
Examples:
|
||||
SuperClaude.py uninstall # Interactive uninstall
|
||||
SuperClaude.py uninstall --components core # Remove specific components
|
||||
SuperClaude.py uninstall --complete --force # Complete removal (forced)
|
||||
SuperClaude.py uninstall --keep-backups # Keep backup files
|
||||
SuperClaude uninstall # Interactive uninstall
|
||||
SuperClaude uninstall --components core # Remove specific components
|
||||
SuperClaude uninstall --complete --force # Complete removal (forced)
|
||||
SuperClaude uninstall --keep-backups # Keep backup files
|
||||
""",
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
parents=parents
|
||||
@ -484,7 +484,7 @@ def run(args: argparse.Namespace) -> int:
|
||||
print(f"\n{Colors.CYAN}Uninstall complete:{Colors.RESET}")
|
||||
print(f"SuperClaude has been removed from {args.install_dir}")
|
||||
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
|
||||
else:
|
||||
|
||||
@ -40,10 +40,10 @@ def register_parser(subparsers, global_parser=None) -> argparse.ArgumentParser:
|
||||
description="Update SuperClaude Framework components to latest versions",
|
||||
epilog="""
|
||||
Examples:
|
||||
SuperClaude.py update # Interactive update
|
||||
SuperClaude.py update --check --verbose # Check for updates (verbose)
|
||||
SuperClaude.py update --components core mcp # Update specific components
|
||||
SuperClaude.py update --backup --force # Create backup before update (forced)
|
||||
SuperClaude update # Interactive update
|
||||
SuperClaude update --check --verbose # Check for updates (verbose)
|
||||
SuperClaude update --components core mcp # Update specific components
|
||||
SuperClaude update --backup --force # Create backup before update (forced)
|
||||
""",
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
parents=parents
|
||||
@ -354,7 +354,7 @@ def run(args: argparse.Namespace) -> int:
|
||||
# Check if SuperClaude is installed
|
||||
if not check_installation_exists(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
|
||||
|
||||
# Create component registry
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user