45 Commits

Author SHA1 Message Date
NomenAK
40840dae0b Restructure documentation: Create focused guide ecosystem from oversized user guide
- Transform 28K+ token superclaude-user-guide.md into 4.5K token overview (84% reduction)
- Extract specialized guides: examples-cookbook.md, troubleshooting-guide.md, best-practices.md, session-management.md, technical-architecture.md
- Add comprehensive cross-references between all guides for improved navigation
- Maintain professional documentation quality with technical-writer agent approach
- Remove template files and consolidate agent naming (backend-engineer → backend-architect, etc.)
- Update all existing guides with cross-references and related guides sections
- Create logical learning paths from beginner to advanced users
- Eliminate content duplication while preserving all valuable information

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-15 21:30:29 +02:00
NomenAK
e8afb94163 Add comprehensive PyPI publishing infrastructure
## Version Management & Consistency
- Update to version 4.0.0b1 (proper beta versioning for PyPI)
- Add __version__ attribute to SuperClaude/__init__.py
- Ensure version consistency across pyproject.toml, __main__.py, setup/__init__.py

## Enhanced Package Configuration
- Improve pyproject.toml with comprehensive PyPI classifiers
- Add proper license specification and enhanced metadata
- Configure package discovery with inclusion/exclusion patterns
- Add development and test dependencies

## Publishing Scripts & Tools
- scripts/build_and_upload.py: Advanced Python script for building and uploading
- scripts/publish.sh: User-friendly shell wrapper for common operations
- scripts/validate_pypi_ready.py: Comprehensive validation and readiness checker
- All scripts executable with proper error handling and validation

## GitHub Actions Automation
- .github/workflows/publish-pypi.yml: Complete CI/CD pipeline
- Automatic publishing on GitHub releases
- Manual workflow dispatch for TestPyPI uploads
- Package validation and installation testing

## Documentation & Security
- PUBLISHING.md: Comprehensive PyPI publishing guide
- scripts/README.md: Detailed script usage documentation
- .env.example: Environment variable template
- Secure token handling with both .pypirc and environment variables

## Features
 Version consistency validation across all files
 Comprehensive PyPI metadata and classifiers
 Multi-environment publishing (TestPyPI + PyPI)
 Automated GitHub Actions workflow
 Security best practices for API token handling
 Complete documentation and troubleshooting guides
 Enterprise-grade validation and error handling

The SuperClaude Framework is now fully prepared for PyPI publication
with professional-grade automation, validation, and documentation.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-15 15:15:51 +02:00
NomenAK
8a594ed9d3 Implement comprehensive uninstall and update safety enhancements
Enhanced uninstall operation with interactive component selection and precision targeting:

- **Safety Verification**: Added verify_superclaude_file() and verify_directory_safety()
  functions to ensure only SuperClaude files are removed, preserving user customizations
- **Interactive Component Selection**: Multi-level menu system for granular uninstall control
  with complete vs custom uninstall options
- **Precise File Targeting**: Commands only removes files from commands/sc/ subdirectory,
  agents only removes SuperClaude agent files, preserving user's custom content
- **Environment Variable Management**: Optional API key cleanup with restore script generation
- **MCP Configuration Safety**: Only removes SuperClaude-managed MCP servers, preserves
  user customizations in .claude.json
- **Enhanced Display**: Clear visualization of what will be removed vs preserved with
  detailed safety guarantees and file counts
- **Error Recovery**: All verification functions default to preserve if uncertain

Enhanced update operation with API key collection:

- **API Key Collection**: Update now collects API keys for new MCP servers during updates
- **Environment Integration**: Seamless environment variable setup for collected keys
- **Cross-Platform Support**: Windows and Unix environment variable management

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-15 14:39:27 +02:00
NomenAK
01b8d2a05a Add API key management during SuperClaude MCP setup
Features:
- Secure API key collection via getpass (hidden input)
- Cross-platform environment variable setup
- Automatic .claude.json configuration with ${ENV_VAR} syntax
- Seamless integration with existing MCP server selection flow
- Skip options for manual configuration later

Implementation:
- Added prompt_api_key() function to setup/utils/ui.py
- Created setup/utils/environment.py for cross-platform env management
- Enhanced MCP server selection in setup/cli/commands/install.py
- Updated MCP component to handle API key configuration
- Preserves user customizations while adding environment variables

Security:
- Hidden input prevents API keys from being displayed
- No logging of sensitive data
- OS-native environment variable storage
- Basic validation with user confirmation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-15 13:48:14 +02:00
NomenAK
c05aa872b2 Exclude local/ folder from SuperClaude backups
- Update installer backup to exclude local/ directory containing Claude Code files
- Update backup command to skip files in local/ and backups/ directories
- Prevent Claude Code installation files from being included in SuperClaude backups

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 22:35:14 +02:00
NomenAK
3d378a83a7 Fix SuperClaude installation and backup issues
- Remove empty hooks/ folder creation from core component
- Fix backup filename double extension (.tar.tar.gz) in installer
- Fix backup archive folder structure to avoid nested directories
- Ensure backups contain files directly without wrapper folders

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 22:30:52 +02:00
NomenAK
45b7a244ad Implement precise and elegant .claude.json editing
Enhanced MCP component to preserve user customizations while adding missing configs:

 Precision Merging:
- Only adds missing MCP server configurations
- Preserves all existing user customizations
- Never overwrites user-modified settings
- Logs what was preserved vs. added

🛡️ Smart Uninstall:
- Only removes SuperClaude-managed servers
- Detects user-customized configs and preserves them
- Compares against templates to identify SuperClaude vs. user configs
- Tracks installed servers via metadata

🔧 Key Features:
- _merge_mcp_server_config(): Intelligent key-by-key merging
- _is_superclaude_managed_server(): Template comparison for safe removal
- _get_installed_servers(): Metadata-based tracking
- Detailed logging of preservation vs. modification actions

Benefits:
- Respects user workflow and customizations
- Safe to re-run installations
- Clean uninstalls without data loss
- Professional configuration management

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 22:19:44 +02:00
NomenAK
572028b285 Fix mcp_docs component initialization order issue
Fixed AttributeError where selected_servers was accessed before initialization.
The issue was that Component.__init__() calls _discover_component_files()
which tried to access self.selected_servers before it was set.

Solution: Initialize selected_servers and server_docs_map before calling
super().__init__() to ensure they're available when needed.

Fixes:
- mcp_docs component now properly discovered and listed
- Installation commands work correctly with mcp_docs
- Dry-run installations complete successfully

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 22:14:56 +02:00
NomenAK
55a150fe57 Refactor setup/ directory structure and modernize packaging
Major structural changes:
- Merged base/ into core/ directory for better organization
- Renamed managers/ to services/ for service-oriented architecture
- Moved operations/ to cli/commands/ for cleaner CLI structure
- Moved config/ to data/ for static configuration files

Class naming conventions:
- Renamed all *Manager classes to *Service classes
- Updated 200+ import references throughout codebase
- Maintained backward compatibility for all functionality

Modern Python packaging:
- Created comprehensive pyproject.toml with build configuration
- Modernized setup.py to defer to pyproject.toml
- Added development tools configuration (black, mypy, pytest)
- Fixed deprecation warnings for license configuration

Comprehensive testing:
- All 37 Python files compile successfully
- All 17 modules import correctly
- All CLI commands functional (install, update, backup, uninstall)
- Zero errors in syntax validation
- 100% working functionality maintained

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 22:03:34 +02:00
NomenAK
41d1ef4de4 Move config directory to setup/config and remove unused configurations
- Move config/ to setup/config/ to consolidate installation files
- Delete 3 unused hooks configuration files:
  - hooks-config.json (367 lines of unimplemented hooks config)
  - claude-code-settings-template.json (unused Claude Code hooks template)
  - superclaude-config-template.json (unused SuperClaude config template)
- Keep active configuration files:
  - features.json (component registry)
  - requirements.json (system requirements)
- Update all references to use new CONFIG_DIR path:
  - setup/__init__.py: CONFIG_DIR = SETUP_DIR / "config"
  - setup/operations/install.py: Use CONFIG_DIR import
  - setup/core/validator.py: Use CONFIG_DIR import
- Verify installation functionality works correctly

This consolidates all setup-related configuration in one location
and removes unused configuration cruft from the framework.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 21:12:48 +02:00
NomenAK
2e0f2cff6c Remove profile system and make custom two-stage selection default
- Remove profiles/ directory with all profile JSON files
- Update install.py to remove profile CLI options and simplify flow
- Make interactive two-stage selection (MCP → Components) the default
- Remove ConfigManager.load_profile() method
- Update documentation to reflect simplified installation process
- Add CLAUDEMdManager for intelligent CLAUDE.md import management
- Components now install to root directory with organized @imports
- Preserve user customizations while managing framework imports

This simplifies the installation experience while providing users
direct control over what gets installed through the intuitive
two-stage selection process.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 21:02:34 +02:00
NomenAK
9ace0619e2 Fix MCPDocsComponent initialization error
- Add hasattr() checks for selected_servers attribute
- Prevents 'MCPDocsComponent' object has no attribute 'selected_servers' error
- Fixes component instantiation during registry discovery

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 20:36:56 +02:00
NomenAK
0e71f29598 Implement two-stage installation with simplified MCP configuration
- Stage 1: MCP server selection (Context7, Sequential, Magic, Playwright, Serena, Morphllm)
- Stage 2: Framework components (Core, Modes, Commands, Agents, MCP Docs)

Major Changes:
- Created MCP config snippets in SuperClaude/MCP/configs/ for JSON-based configuration
- Simplified MCPComponent to modify .claude.json instead of npm/subprocess installation
- Added ModesComponent for behavioral modes (Brainstorming, Introspection, etc.)
- Added MCPDocsComponent for dynamic MCP documentation installation
- Completely removed Hooks component (deleted hooks.py, updated all references)
- Implemented two-stage interactive installation flow
- Updated profiles and configuration files

Benefits:
- Much simpler and more reliable MCP configuration
- Clear separation between server setup and documentation
- Auto-selection of MCP docs based on server choices
- User-friendly two-stage selection process

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 20:35:19 +02:00
NomenAK
dc1c7f2e1b Add Agents component to installation process
- Created AgentsComponent class in setup/components/agents.py
- Added agents component to features.json configuration
- Updated components __init__.py to import AgentsComponent
- Added agents to "all" components list in install.py
- Updated developer and quick installation profiles to include agents
- Agents component installs 13 specialized AI agent files to ~/.claude/agents/

The 13 specialized agents (system-architect, frontend-specialist, security-auditor,
etc.) are now properly exposed in the installation process, aligning with V4 Beta's
marketing of "13 specialized agents with domain expertise".

Users can now:
- Install agents via --components agents or --components all
- See agents in interactive component selection menu
- Get agents included in developer and quick installation profiles

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 20:12:59 +02:00
NomenAK
d87bd3dc35 Hide Hooks installation from CLI until implementation is ready
- Commented out HooksComponent import and export in __init__.py
- Removed hooks from --components all installation list
- Set enabled=false in features.json configuration
- Updated descriptions to indicate "NOT YET IMPLEMENTED"
- Code remains intact for future re-enablement

The Hooks system is not yet fully implemented, so hiding it from
users prevents confusion while preserving the framework for future use.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 20:02:08 +02:00
mithun50
41b5924934 Added the Setup implimentation 2025-08-14 08:56:04 +05:30
NomenAK
1d03832f2d SuperClaude V4 Beta: Major framework restructuring
- Restructured core framework components
- Added new Agents, MCP servers, and Modes documentation
- Introduced SuperClaude-Lite minimal implementation
- Enhanced Commands with session management capabilities
- Added comprehensive Hooks system with Python integration
- Removed legacy setup and profile components
- Updated .gitignore to exclude Tests/, ClaudeDocs/, and .serena/
- Consolidated configuration into SuperClaude/Config/
- Added Templates for consistent component creation

This is the initial commit for the V4 Beta branch containing all recent framework improvements and architectural changes.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 13:59:17 +02:00
Mithun Gowda B
f7a9e19a9a
Fixed installer.py
Fixed Update issue added missing function update_components() to installer.py

Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-23 17:36:15 +05:30
Mithun Gowda B
b8461667de
fix: correct playwright MCP package name typo (#210)
## Summary
- Fix critical typo in playwright MCP server configuration
- Change @playright/mcp to @playwright/mcp in setup/components/mcp.py
- Prevents MCP installation failures due to package not found errors

## Test plan
- [x] Verify package name is correctly spelled as @playwright/mcp
- [x] Confirm no other playwright typos exist in codebase
- [x] Test MCP installation process works with corrected package name

🤖 Generated with [Claude Code](https://claude.ai/code)
2025-07-23 08:21:20 +05:30
Andrey Korzh
d075a67de0 Fix installation failures on Windows systems with alias usernames 2025-07-22 23:12:32 +02:00
ashigirl96
572a11d82f fix: correct playwright MCP package name typo
Fix typo in playwright MCP server configuration where @playright/mcp
was incorrectly specified instead of @playwright/mcp, which would
cause installation failures.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-23 01:41:34 +09:00
Andrew Low
379908a797 refactor: simplify and remove duplicate code across operations files
* Consolidate installation check logic using SettingsManager methods
* Simplify component retrieval by delegating to SettingsManager
* Add 'all' components shorthand support in installer
2025-07-22 18:37:48 +08:00
Andrew Low
f7311bf480 refactor: simplify Component architecture and move shared logic to base class
* Component Base Class:
  * Add constructor parameter for component subdirectory
  * Move file discovery utilities to base class to avoid repetition in subclasses
  * Same for validate_prerequisites, get_files_to_install, get_settings_modifications methods
  * Split install method into _install and _post_install for better separation of concerns
  * Add error handling wrapper around _install method

* All Component Subclasses:
  * Remove duplicate code now handled by base class
  * Use shared file discovery and installation logic
  * Simplify metadata updates using base class methods
  * Leverage base class file handling and validation

* Hooks Component:
  * Fix the logic for handling both placeholder and actual hooks scenarios

* MCP Component:
  * Fix npm package names and installation commands
2025-07-22 18:36:42 +08:00
Andrew Low
fff47ec1b7 refactor: remove unused code and simplify installer
* Remove unused json import
* Remove unused settings registry update methods (_update_settings_registry, _remove_from_settings_registry)
  * the components themselves are responsible for registering in metadata/settings file
* Remove uninstall_component method
  * the components themselves are resonsible for their uninstall logic
* Simplify post-install validation logic
2025-07-22 18:26:14 +08:00
Andrew Low
b8e5e3f6f5 refactor: update imports after moving managers to separate module
* Remove manager class imports from core/__init__.py and update validator.py to import ConfigManager from new managers module location.
2025-07-22 18:18:19 +08:00
Andrew Low
2db7c80eb1 refactor: move manager classes from core to managers module
* Move ConfigManager, SettingsManager, and FileManager from setup/core to setup/managers with new init.py for cleaner organization.
* Update SettingsManager with enhanced metadata handling methods and installation detection utilities.
2025-07-22 18:11:18 +08:00
Mithun Gowda B
df94650bef
Update backup.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-21 11:44:10 +05:30
Mithun Gowda B
07e4028402
Update update.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-21 11:43:12 +05:30
Mithun Gowda B
07ca0044d0
Update uninstall.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-21 11:42:02 +05:30
Mithun Gowda B
3a8e245a91
Update install.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-21 11:34:00 +05:30
Mithun Gowda B
7e235d465b
🚀 Fix: Ensure settings.json is created after install (#185)
* Fixed installer.py

Fixed the settings.json missing issue

* Fixed new upload feature  Co-authored-by: mithun50 <mithungowda.b7411@gmail.com>

Fixed new upload feature  Co-authored-by: mithun50 <mithungowda.b7411@gmail.com>
2025-07-18 22:10:17 +02:00
Mithun Gowda B
1af243bffa
Update ui.py
Signed-off-by: Mithun Gowda B <mithungowda.b7411@gmail.com>
2025-07-16 11:11:13 +05:30
mithun50
d253e048b9 Added PyPI v3 setup and readme updates 2025-07-15 17:32:39 +05:30
NomenAK
a0def375e1 Implement dynamic file discovery for components (PR #133)
Replace hardcoded file arrays with dynamic discovery system:
- CoreComponent: Auto-discovers framework .md files in Core directory
- CommandsComponent: Auto-discovers command .md files in Commands directory
- Eliminates manual maintenance of file lists
- Maintains backward compatibility and error handling
- Adds comprehensive logging and validation

Key changes:
- Added _discover_framework_files() and _discover_command_files() methods
- Added shared _discover_files_in_directory() utility
- Replaced hardcoded arrays with dynamic discovery calls
- Includes filtering, sorting, and error handling
- Validates 9 framework files and 16 command files correctly
- Clean up documentation formatting

Resolves maintenance burden described in PR #133 while preserving
all existing functionality and security validation.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 11:17:55 +02:00
NomenAK
5279cdd4e0 Fix security validation overly broad regex patterns (GitHub Issue #129)
- Fixed `/dev/` pattern to `^/dev/` to only match system device directories
- Added start-of-path anchors (^) to all Unix and Windows system directory patterns
- Separated patterns into logical categories for better maintainability
- Enhanced cross-platform path normalization and error messages
- Improved platform-specific validation logic

This allows users with "dev", "tmp", "bin", etc. in their paths to install
SuperClaude while maintaining all existing security protections.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 10:48:16 +02:00
Kwan Li
6bff95886c
added missing implement.md to setup.components (#133)
fix /sc:implement missing from claude code command line

Signed-off-by: Hung Kwan Li <71382503+backpack-0x1337@users.noreply.github.com>
Co-authored-by: Hung Kwan Li <71382503+backpack-0x1337@users.noreply.github.com>
2025-07-15 10:16:49 +02:00
NomenAK
608360882c fix: install MCP servers with user scope for global availability (#127)
- Add --scope user flag to claude mcp add commands in MCP component
- Makes MCP servers globally available across all projects instead of local-only
- Updates all logging messages to reflect user scope installation
- Keeps remove commands scope-agnostic for better compatibility
- Resolves issue where MCP servers were only available in SuperClaude directory

Fixes #127

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 21:32:11 +02:00
NomenAK
b9fac065e0 fix: Windows PATH detection for CLI tools in PowerShell environments
- Add shell=True parameter to subprocess.run() calls on Windows platform
- Fixes issue #128 where Claude CLI, Node.js, and npm were not detected in PowerShell
- Affects validator.py and mcp.py components for better Windows compatibility
- Resolves PowerShell PATH inheritance issues with Python subprocess

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 21:11:28 +02:00
NomenAK
90716ab7b8 docs: comprehensive documentation update and command system enhancement
- Update all command documentation with improved clarity and examples
- Enhance user guides with simplified activation patterns
- Improve installation and setup documentation
- Refine command system implementation in setup components
- Update changelog with recent improvements

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 18:34:01 +02:00
NomenAK
e6bd45ed87 fix: add missing core component registration in installation
Core component installation was missing the component registration step,
causing post-installation validation to fail with "Core component not
registered in metadata" while commands and MCP components passed.

Added missing add_component_registration() call in CoreComponent.install()
to match the pattern used by other components.

Fixes validation error without affecting functionality.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 17:59:58 +02:00
NomenAK
0b410c2dbd enhance: Windows security validation with comprehensive improvements
- Enhanced Windows path validation with proper normalization
- Added junction point and symbolic link detection for security
- Improved Windows-specific error messages with actionable guidance
- Implemented security audit logging for installation decisions
- Maintained cross-platform compatibility and existing protections

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 17:18:11 +02:00
Elliot Chen
e91d31a027
fix: allow installation in Windows user directories (#122) 2025-07-14 17:03:24 +02:00
NomenAK
625088df64 fix: Address invalid JSON field in installation suite
- Separate SuperClaude metadata from Claude Code settings.json
- Create .superclaude-metadata.json for framework-specific data
- Fix JSON validation issues with settings management
- Update all components to use proper metadata storage
- Maintain compatibility with Claude Code settings format
- Add migration support for existing installations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 16:34:20 +02:00
NomenAK
952b177598 Fix MCP server installation by adding proper command format
The Claude CLI requires both name and command parameters for 'mcp add':
claude mcp add <name> <commandOrUrl>

This commit:
- Adds 'command' field to all MCP server definitions
- Updates _install_mcp_server to use both server name and command
- Fixes the subprocess call to include both required parameters

Fixes: Failed to install MCP server sequential-thinking: error: missing required argument 'commandOrUrl'

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 16:06:42 +02:00
NomenAK
59d74b8af2 Initial commit: SuperClaude v3 Beta clean architecture
Complete foundational restructure with:
- Simplified project architecture
- Comprehensive documentation system
- Modern installation framework
- Clean configuration management
- Updated profiles and settings

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 14:28:11 +02:00