# Contributing Code to SuperClaude Framework ๐Ÿ› ๏ธ Welcome to SuperClaude Framework development! This guide provides everything you need to contribute to the meta-programming framework that transforms Claude Code into a structured development platform. **Project Purpose**: SuperClaude enhances Claude Code through behavioral instruction injection, intelligent agent coordination, and MCP server integration. We're building the next generation of AI-assisted development tools. **Community Approach**: Open collaboration focused on expanding capabilities, improving user experience, and maintaining high-quality code standards. Every contribution, from bug fixes to new features, helps advance AI-assisted development. ## Table of Contents **For Screen Readers**: This document contains 9 main sections with subsections. Use heading navigation to jump between sections. 1. [Development Setup](#development-setup) - Prerequisites and environment configuration 2. [Architecture Overview](#architecture-overview) - System components and design patterns 3. [Code Contribution Guidelines](#code-contribution-guidelines) - Standards and best practices 4. [Development Workflow](#development-workflow) - Git workflow and submission process 5. [Release Process](#release-process) - Version management and deployment 6. [Contributing to V4 Components](#contributing-to-v4-components) - Agent, mode, and MCP development 7. [Error Handling and Troubleshooting](#error-handling-and-troubleshooting) - Common issues and solutions 8. [Security Guidelines](#security-guidelines) - Secure coding practices and validation 9. [Getting Help](#getting-help) - Support channels and resources 10. [Glossary](#glossary) - Technical terms and definitions **Cross-Reference Links**: - [Technical Architecture Guide](technical-architecture.md) - Deep system architecture details - [Testing & Debugging Guide](testing-debugging.md) - Testing procedures and debugging techniques --- ## Development Setup ### Prerequisites **Required:** - Python 3.8+ with pip - Git for version control - Claude Code installed and working - Node.js 16+ (for MCP server development) **Recommended:** - VS Code or PyCharm for development - Docker for containerized testing - 8GB RAM for full development environment - 2GB disk space for repositories and dependencies ### Prerequisites Validation Before starting development, validate your environment meets all requirements: **Environment Validation Script:** ```bash #!/bin/bash # validate_environment.sh echo "๐Ÿ” Validating SuperClaude Development Environment..." # Check Python version python_version=$(python3 --version 2>&1 | grep -o '[0-9]\+\.[0-9]\+') if python3 -c "import sys; exit(0 if sys.version_info >= (3, 8) else 1)"; then echo "โœ… Python $python_version (OK)" else echo "โŒ Python $python_version (Requires 3.8+)" exit 1 fi # Check Node.js version if command -v node >/dev/null 2>&1; then node_version=$(node --version | grep -o '[0-9]\+') if [ "$node_version" -ge 16 ]; then echo "โœ… Node.js $(node --version) (OK)" else echo "โŒ Node.js $(node --version) (Requires 16+)" exit 1 fi else echo "โŒ Node.js not found (Required for MCP development)" exit 1 fi # Check Git if command -v git >/dev/null 2>&1; then echo "โœ… Git $(git --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+') (OK)" else echo "โŒ Git not found (Required)" exit 1 fi # Check Claude Code if command -v claude-code >/dev/null 2>&1; then echo "โœ… Claude Code available in PATH (OK)" elif [ -f "$HOME/.vscode/extensions" ] && ls "$HOME/.vscode/extensions" | grep -q claude; then echo "โœ… Claude Code VS Code extension detected (OK)" else echo "โš ๏ธ Claude Code not detected - verify installation" fi # Check disk space (requires at least 2GB) available_space=$(df -BG . | awk 'NR==2 {print $4}' | sed 's/G//') if [ "$available_space" -ge 2 ]; then echo "โœ… Disk space: ${available_space}GB (OK)" else echo "โŒ Disk space: ${available_space}GB (Requires 2GB+)" exit 1 fi echo "๐ŸŽ‰ Environment validation complete!" ``` **Manual Validation Steps:** ```bash # 1. Verify Python packages can be installed python3 -m pip install --dry-run pytest black pylint # 2. Test Git configuration git config --get user.name git config --get user.email # 3. Verify file permissions for development touch test_write_permission && rm test_write_permission # 4. Check available memory free -h | grep "Mem:" # 5. Validate internet connectivity for package installation python3 -c "import urllib.request; urllib.request.urlopen('https://pypi.org')" ``` **System Check:** ```bash # Verify prerequisites python3 --version # Should be 3.8+ node --version # Should be 16+ git --version # Any recent version # Verify Claude Code is properly installed and working # Check if Claude Code CLI is available in PATH which claude-code || echo "Claude Code not found in PATH" # Or verify through IDE integration (VS Code extension, etc.) ``` ### Development Environment Setup **1. Fork and Clone Repository:** ```bash # Fork SuperClaude_Framework on GitHub first git clone https://github.com/YOUR_USERNAME/SuperClaude_Framework.git cd SuperClaude_Framework ``` **2. Set Up Python Environment:** ```bash # Create virtual environment python3 -m venv venv source venv/bin/activate # Linux/macOS # For Windows: venv\Scripts\activate # Install development dependencies python3 -m pip install -e ".[dev]" ``` **3. Docker Development Environment Setup** โฑ๏ธ **15-20 minutes** For isolated development with all dependencies pre-configured: ```bash # Build development container docker build -t superclaude-dev -f docker/Dockerfile.dev . # Run interactive development container docker run -it --rm \ -v $(pwd):/workspace \ -v ~/.ssh:/root/.ssh:ro \ -v ~/.gitconfig:/root/.gitconfig:ro \ -p 8000:8000 \ --name superclaude-dev \ superclaude-dev # Alternative: Use docker-compose for full stack docker-compose -f docker/docker-compose.dev.yml up -d ``` **Docker Development Benefits:** - โœ… Consistent environment across team members - โœ… Pre-installed Node.js, Python, and all MCP dependencies - โœ… Isolated testing environment - โœ… VS Code devcontainer support - โœ… Automatic port forwarding for MCP servers **Dockerfile.dev Configuration:** ```dockerfile # docker/Dockerfile.dev FROM python:3.11-slim # Install system dependencies RUN apt-get update && apt-get install -y \ nodejs npm git curl build-essential \ && rm -rf /var/lib/apt/lists/* # Set working directory WORKDIR /workspace # Install Python dependencies COPY requirements.txt requirements-dev.txt ./ RUN pip install -r requirements-dev.txt # Install Node.js dependencies for MCP servers RUN npm install -g @sequential-thinking/mcp-server \ @magic-ui/mcp-server @playwright/mcp-server # Development configuration ENV SUPERCLAUDE_DEV=true ENV PYTHONPATH=/workspace ENV NODE_PATH=/usr/local/lib/node_modules # Expose ports for MCP servers EXPOSE 3000-3010 8000 CMD ["/bin/bash"] ``` **VS Code DevContainer Setup:** ```json { "name": "SuperClaude Development", "dockerFile": "../docker/Dockerfile.dev", "mounts": [ "source=${localWorkspaceFolder},target=/workspace,type=bind", "source=${localEnv:HOME}/.ssh,target=/root/.ssh,type=bind,readonly" ], "forwardPorts": [3000, 3001, 3002, 3003, 3004, 3005, 8000], "postCreateCommand": "pip install -e .[dev]", "extensions": [ "ms-python.python", "ms-python.black-formatter", "ms-python.pylint" ] } ``` **3. Configure Development Environment:** ```bash # Set up development configuration export SUPERCLAUDE_DEV=true export CLAUDE_CONFIG_DIR=~/.claude # Create development configuration directory if it doesn't exist mkdir -p ~/.claude # Copy core configuration files to Claude config directory cp -r SuperClaude/Core/* ~/.claude/ ``` **4. Verify Installation:** ```bash # Test installation python3 -m SuperClaude --version python3 -m SuperClaude install --dry-run --install-dir ~/.claude # Run tests python3 -m pytest tests/ python3 scripts/validate_pypi_ready.py ``` **5. Development Tools Setup:** ```bash # Install development tools python3 -m pip install black pylint mypy pre-commit # Set up pre-commit hooks pre-commit install # Configure IDE (VS Code example) cp .vscode/settings.json.template .vscode/settings.json ``` ## Architecture Overview > **๐Ÿ“– See Also**: [Technical Architecture Guide](technical-architecture.md) for comprehensive system architecture details, agent coordination patterns, and MCP integration specifications. ### Core Components **SuperClaude Framework Structure:** **Accessibility Description**: This is a hierarchical directory tree showing the organization of SuperClaude Framework components. The main directory contains four major subdirectories: SuperClaude (framework components), setup (installation system), documentation directories, and tests. ``` SuperClaude_Framework/ โ”œโ”€โ”€ SuperClaude/ # Framework components โ”‚ โ”œโ”€โ”€ Core/ # Core behavioral instructions โ”‚ โ”‚ โ”œโ”€โ”€ FLAGS.md # Behavioral flags system โ”‚ โ”‚ โ”œโ”€โ”€ RULES.md # Development rules โ”‚ โ”‚ โ””โ”€โ”€ PRINCIPLES.md # Engineering principles โ”‚ โ”œโ”€โ”€ Modes/ # 6 behavioral modes โ”‚ โ”‚ โ”œโ”€โ”€ MODE_Brainstorming.md โ”‚ โ”‚ โ”œโ”€โ”€ MODE_Introspection.md โ”‚ โ”‚ โ””โ”€โ”€ MODE_*.md โ”‚ โ”œโ”€โ”€ MCP/ # MCP server integrations โ”‚ โ”‚ โ”œโ”€โ”€ MCP_Context7.md โ”‚ โ”‚ โ”œโ”€โ”€ MCP_Sequential.md โ”‚ โ”‚ โ””โ”€โ”€ configs/ โ”‚ โ”œโ”€โ”€ Commands/ # 21 slash commands โ”‚ โ”‚ โ”œโ”€โ”€ brainstorm.md โ”‚ โ”‚ โ””โ”€โ”€ *.md โ”‚ โ””โ”€โ”€ Agents/ # 13 specialized agents โ”œโ”€โ”€ setup/ # Installation system โ”‚ โ”œโ”€โ”€ components/ # Component definitions โ”‚ โ”œโ”€โ”€ core/ # Installation logic โ”‚ โ”œโ”€โ”€ services/ # System services โ”‚ โ””โ”€โ”€ utils/ # Utilities โ”œโ”€โ”€ User-Guide/ # User documentation โ”œโ”€โ”€ Developer-Guide/ # Technical documentation โ”œโ”€โ”€ Reference/ # Reference materials โ””โ”€โ”€ tests/ # Test suite ``` **Key Architectural Concepts:** - **Meta-Framework**: Enhances Claude Code through configuration injection - **Component System**: Modular installation with dependency resolution - **Behavioral Programming**: AI behavior modification through .md files - **Intelligent Orchestration**: Dynamic coordination of agents and tools ### V4 Beta Architecture #### Agents System **13 Specialized AI Agents:** - **Architecture**: system-architect, backend-architect, frontend-architect, devops-architect - **Quality**: security-engineer, performance-engineer, quality-engineer, refactoring-expert - **Analysis**: root-cause-analyst, requirements-analyst - **Specialized**: python-expert, technical-writer, learning-guide **Agent Development Pattern:** ```python # setup/components/agents.py from setup.components.base import BaseComponent class AgentComponent(BaseComponent): """Base class for SuperClaude agent components""" def get_agent_definitions(self): return { 'agent-id': { 'triggers': ['keyword1', 'keyword2'], 'capabilities': ['capability1', 'capability2'], 'expertise_level': 0.9, 'collaboration_style': 'strategic_lead' } } ``` #### Modes System **6 Behavioral Modes:** - **Brainstorming**: Interactive discovery and requirements exploration - **Introspection**: Meta-cognitive analysis and reasoning transparency - **Task Management**: Hierarchical organization for complex operations - **Orchestration**: Intelligent tool selection and coordination - **Token Efficiency**: Compressed communication (30-50% reduction) - **Standard**: Balanced default behavior **Mode Development Pattern:** ```markdown # MODE_CustomMode.md **Purpose**: Brief description of mode's behavioral changes ## Activation Triggers - keyword1, keyword2, specific patterns - Manual flags: --custom-mode, --cm ## Behavioral Changes - **Change 1**: Description and impact on Claude Code behavior - **Change 2**: Description and impact on tool selection ## Outcomes - Expected results and deliverables - Behavioral modifications achieved ## Examples ``` Standard: "Normal interaction pattern" Custom Mode: "Modified interaction with specific changes" ``` ``` #### MCP Integration **6 MCP Servers:** - **Context7**: Official library documentation and patterns - **Sequential**: Multi-step reasoning and systematic analysis - **Magic**: Modern UI component generation from 21st.dev - **Playwright**: Browser automation and E2E testing - **Morphllm**: Pattern-based code transformation - **Serena**: Semantic understanding and project memory **MCP Development Pattern:** ```python # setup/components/mcp.py from setup.components.base import BaseComponent class MCPComponent(BaseComponent): def get_mcp_servers(self): return { 'server-name': { 'command': 'node', 'args': ['/path/to/server'], 'capabilities': ['capability1', 'capability2'], 'auto_activation': ['trigger1', 'trigger2'] } } ``` ## Code Contribution Guidelines > **๐Ÿ”’ Security Note**: All contributions must follow security guidelines outlined in the [Security Guidelines](#security-guidelines) section and [Testing & Debugging Guide](testing-debugging.md#security-testing). ### Documentation (Markdown) **Documentation Standards:** - **Clarity**: Clear, concise writing accessible to target audience - **Structure**: Logical organization with consistent heading hierarchy - **Examples**: Practical code examples for all concepts - **Accuracy**: Technical accuracy verified through testing - **Completeness**: Cover all use cases and edge cases **Markdown Conventions:** ```markdown # Main Title (H1) - Once per document ## Section (H2) - Major sections ### Subsection (H3) - Detailed topics #### Detail (H4) - Specific implementation details **Bold** for emphasis and important concepts `code` for inline code and commands ```code blocks``` for examples **Flags**: Use consistent flag notation (--flag-name) **Commands**: Use consistent command notation (/sc:command) ``` **Code Example Standards:** ```bash # Good: Complete, runnable examples /sc:implement "user authentication system" # โ†’ Auto-activates: security-engineer + backend-architect # Bad: Incomplete or non-functional examples /sc:implement auth # Not descriptive enough ``` ### Commit Messages **Commit Message Format:** ``` type(scope): brief description Detailed explanation if needed, including: - What changed and why - Any breaking changes - Related issue references Closes #123 ``` **Commit Types:** - **feat**: New feature or enhancement - **fix**: Bug fix or correction - **docs**: Documentation changes - **refactor**: Code restructuring without behavior change - **test**: Test additions or improvements - **chore**: Maintenance tasks, dependency updates **Examples:** ```bash # Good commit messages feat(agents): add data-scientist agent with ML capabilities fix(mcp): resolve Context7 connection timeout issues docs(modes): update behavioral modes with examples refactor(components): simplify component registration logic # Bad commit messages fix stuff update files changes ``` ## Development Workflow > **๐Ÿงช Testing Integration**: All development workflow steps should include testing procedures. See [Testing & Debugging Guide](testing-debugging.md) for comprehensive testing strategies. ### 1. Fork & Branch **Git Workflow:** ```bash # 1. Fork repository on GitHub # 2. Clone your fork git clone https://github.com/YOUR_USERNAME/SuperClaude_Framework.git cd SuperClaude_Framework # 3. Add upstream remote git remote add upstream https://github.com/SuperClaude-Org/SuperClaude_Framework.git # 4. Create feature branch git checkout -b feature/your-feature-name # Examples: feature/data-scientist-agent, fix/mcp-connection-timeout ``` **Branch Naming Conventions:** - **feature/**: New features (`feature/research-mode`) - **fix/**: Bug fixes (`fix/installation-error`) - **docs/**: Documentation (`docs/contributing-guide`) - **refactor/**: Code restructuring (`refactor/component-system`) ### 2. Develop & Test **Development Process:** ```bash # 1. Make changes following coding standards # 2. Test changes locally python3 -m pytest tests/ python3 scripts/validate_pypi_ready.py # 3. Test installation python3 -m SuperClaude install --dry-run --components your-component # 4. Run linting and formatting python3 -m black . python3 -m pylint setup/ python3 -m mypy setup/ # 5. Update documentation if needed # 6. Add tests for new functionality ``` **Testing Requirements:** - **Unit Tests**: Test individual components and functions - **Integration Tests**: Test component interactions - **Installation Tests**: Verify installation process - **Documentation Tests**: Ensure examples work ### 3. Submit Pull Request **Pull Request Process:** ```bash # 1. Commit changes with descriptive messages git add . git commit -m "feat(agents): add research agent with citation management" # 2. Push to your fork git push origin feature/your-feature-name # 3. Create Pull Request on GitHub with: # - Clear title and description # - Link to related issues # - Test results and verification # - Breaking changes documentation ``` **Pull Request Template:** ```markdown ## Description Brief description of changes and motivation ## Type of Change - [ ] Bug fix - [ ] New feature - [ ] Documentation update - [ ] Breaking change ## Testing - [ ] Tests pass locally - [ ] Installation tested - [ ] Documentation updated - [ ] Examples verified ## Checklist - [ ] Code follows project standards - [ ] Self-review completed - [ ] Comments added for complex logic - [ ] Documentation updated ``` ### 4. Code Review **Code Review Process:** 1. **Automated Checks**: GitHub Actions run tests and validation 2. **Maintainer Review**: Core team reviews code quality and design 3. **Community Feedback**: Community members provide input 4. **Revision**: Address feedback and make requested changes 5. **Approval**: Final approval and merge by maintainers **Review Criteria:** - **Functionality**: Code works as intended - **Quality**: Follows coding standards and best practices - **Testing**: Adequate test coverage and validation - **Documentation**: Clear documentation and examples - **Impact**: No breaking changes without justification - **Performance**: No significant performance degradation **Addressing Feedback:** 1. Make requested changes to your code 2. Commit with clear messages describing the fixes 3. Push updates to your feature branch 4. Respond to review comments explaining your changes 5. Request re-review when ready ## ๐Ÿ“‹ Comprehensive Contributor Onboarding Checklist ### New Contributor Quick Start โฑ๏ธ **30-45 minutes** **๐ŸŽฏ Skill Level: Beginner to Intermediate** Complete this checklist to ensure you're ready to contribute effectively to SuperClaude Framework: #### Phase 1: Environment Setup โฑ๏ธ **15 minutes** - [ ] **Prerequisites Validated** - [ ] Python 3.8+ installed and accessible - [ ] Node.js 16+ installed for MCP development - [ ] Git configured with your name and email - [ ] Claude Code installed and working - [ ] 8GB+ RAM available for development - [ ] 2GB+ disk space available - [ ] **Repository Setup** - [ ] GitHub account configured with SSH key - [ ] SuperClaude_Framework repository forked to your account - [ ] Local clone created: `git clone https://github.com/YOUR_USERNAME/SuperClaude_Framework.git` - [ ] Upstream remote added: `git remote add upstream https://github.com/SuperClaude-Org/SuperClaude_Framework.git` - [ ] Development branch created: `git checkout -b feature/your-first-contribution` - [ ] **Development Environment** - [ ] Virtual environment created and activated - [ ] Development dependencies installed: `pip install -e ".[dev]"` - [ ] Environment validation script passed: `bash scripts/validate_environment.sh` - [ ] Docker setup completed (optional but recommended) #### Phase 2: Framework Understanding โฑ๏ธ **20 minutes** - [ ] **Architecture Comprehension** - [ ] Read [Architecture Overview](technical-architecture.md#architecture-overview) - [ ] Understand the 4-layer orchestration pattern - [ ] Review agent coordination concepts - [ ] Understand MCP server integration - [ ] **Component System Knowledge** - [ ] Review component installation system in `setup/components/` - [ ] Understand dependency resolution patterns - [ ] Examine existing agent definitions in `SuperClaude/Agents/` - [ ] Review behavioral mode files in `SuperClaude/Modes/` - [ ] **Development Patterns** - [ ] Review contribution guidelines in this document - [ ] Understand commit message format requirements - [ ] Study pull request template and review process - [ ] Examine existing test patterns in `tests/` #### Phase 3: First Contribution โฑ๏ธ **10 minutes** - [ ] **Testing Capability** - [ ] Run full test suite: `python -m pytest tests/` - [ ] Run installation validation: `python scripts/validate_pypi_ready.py` - [ ] Verify development tools: `python -m black --check .` - [ ] Test MCP server connectivity (if applicable) - [ ] **Documentation Access** - [ ] Bookmarked essential documentation sections - [ ] Identified your contribution area (agents, modes, MCP, testing) - [ ] Reviewed related issues on GitHub - [ ] Joined development discussions ### Contribution Path Selection Choose your contribution path based on interest and skill level: #### ๐Ÿค– **Agent Development Path** - *Intermediate Level* **Time Investment: 2-4 hours** - [ ] Study existing agent patterns in `SuperClaude/Agents/` - [ ] Review agent activation triggers and capabilities - [ ] Understand agent coordination protocols - [ ] **First Contribution Ideas:** - [ ] Create domain-specific agent (data-scientist, devops-specialist) - [ ] Enhance existing agent capabilities - [ ] Improve agent documentation and examples #### ๐ŸŽฏ **Behavioral Mode Path** - *Intermediate Level* **Time Investment: 1-3 hours** - [ ] Understand mode activation triggers and behavioral changes - [ ] Review existing modes in `SuperClaude/Modes/` - [ ] Study mode integration with other systems - [ ] **First Contribution Ideas:** - [ ] Create specialized behavioral mode (research, academic) - [ ] Enhance mode documentation with examples - [ ] Improve mode activation logic #### ๐Ÿ”ง **MCP Integration Path** - *Advanced Level* **Time Investment: 3-6 hours** - [ ] Understand MCP protocol implementation - [ ] Review server configuration patterns - [ ] Study health monitoring and error recovery - [ ] **First Contribution Ideas:** - [ ] Integrate new MCP server - [ ] Improve server connection reliability - [ ] Enhance server configuration documentation #### ๐Ÿ“š **Documentation Path** - *Beginner to Intermediate* **Time Investment: 1-2 hours** - [ ] Review documentation standards and conventions - [ ] Understand target audience for each document type - [ ] Study existing examples and patterns - [ ] **First Contribution Ideas:** - [ ] Improve code examples in documentation - [ ] Add troubleshooting sections - [ ] Create tutorial content for specific features #### ๐Ÿงช **Testing & Quality Path** - *Intermediate Level* **Time Investment: 2-4 hours** - [ ] Understand testing framework and patterns - [ ] Review coverage requirements and standards - [ ] Study performance testing methodologies - [ ] **First Contribution Ideas:** - [ ] Add test coverage for untested components - [ ] Improve testing documentation - [ ] Create performance benchmarks ### Mentor Assignment & Support **๐Ÿค Getting Help:** - **GitHub Discussions**: Ask questions and get community support - **GitHub Issues**: Report bugs or request mentorship assignment - **Pull Request Reviews**: Get direct feedback on your contributions - **Documentation**: Reference comprehensive guides and examples **๐Ÿ“ˆ Contribution Recognition:** - All contributors recognized in release notes - Significant contributions highlighted in project announcements - Active contributors invited to community calls and decisions - Path to core contributor status for consistent contributors ### Post-Onboarding Continuous Learning #### Month 1: Foundation Building - [ ] Complete first contribution and get it merged - [ ] Participate in code review process - [ ] Understand CI/CD pipeline and quality gates - [ ] Engage with community discussions #### Month 2-3: Expertise Development - [ ] Take on more complex contributions - [ ] Mentor new contributors - [ ] Contribute to architecture discussions - [ ] Help improve development processes #### Long-term: Community Leadership - [ ] Lead feature development initiatives - [ ] Contribute to project roadmap and strategy - [ ] Help establish best practices and standards - [ ] Represent project in external forums ### Onboarding Validation Complete your onboarding by submitting a small test contribution: ```bash # Create a simple documentation improvement echo "Your onboarding validation contribution could be: 1. Fix a typo in documentation 2. Add a helpful code comment 3. Improve an example in the README 4. Add a test case for an existing function 5. Update a docstring with better description" # Create pull request with onboarding tag git commit -m "docs: improve onboarding example for new contributors - Add clarity to setup instructions - Include beginner-friendly explanation - Fix formatting issues Closes #XXX (if applicable)" ``` **๐ŸŽ‰ Welcome to the SuperClaude Framework contributor community!** ## ๐Ÿ“ˆ Performance Testing Requirements ### Performance Testing Standards โฑ๏ธ **10-15 minutes setup** **๐ŸŽฏ Skill Level: Intermediate** All contributions must meet performance benchmarks to ensure system reliability: #### Core Performance Metrics **Memory Usage Requirements:** - Component installation: <50MB peak memory usage - Agent activation: <10MB per agent - MCP server integration: <100MB total for all servers - Session management: <200MB for 1-hour sessions **Execution Time Requirements:** - Component installation: <30 seconds for core components - Agent coordination: <2 seconds for multi-agent activation - MCP server startup: <10 seconds per server - Quality validation: <5 seconds for standard workflows **Performance Testing Framework:** ```python # tests/performance/test_benchmarks.py import pytest import time import psutil import memory_profiler from setup.core.installation import InstallationOrchestrator class TestPerformanceBenchmarks: @pytest.fixture def performance_monitor(self): """Monitor system performance during tests""" process = psutil.Process() return { 'memory_before': process.memory_info().rss, 'cpu_before': process.cpu_percent(), 'start_time': time.time() } @memory_profiler.profile def test_component_installation_performance(self, performance_monitor): """Test component installation meets performance requirements""" orchestrator = InstallationOrchestrator() # Test installation performance start_time = time.time() result = orchestrator.install_components(['core'], test_mode=True) execution_time = time.time() - start_time # Performance assertions assert execution_time < 30, f"Installation took {execution_time}s, should be <30s" assert result.memory_usage < 50 * 1024 * 1024, "Memory usage exceeds 50MB" def test_agent_coordination_performance(self): """Test agent coordination meets latency requirements""" from setup.services.agent_coordinator import AgentCoordinator coordinator = AgentCoordinator() start_time = time.time() result = coordinator.activate_agents([ 'system-architect', 'security-engineer', 'backend-architect' ]) execution_time = time.time() - start_time assert execution_time < 2.0, f"Agent coordination took {execution_time}s, should be <2s" assert result.success, "Agent coordination should succeed" @pytest.mark.benchmark(group="mcp_servers") def test_mcp_server_startup_performance(self, benchmark): """Benchmark MCP server startup times""" from setup.services.mcp_manager import MCPManager mcp_manager = MCPManager() def startup_servers(): return mcp_manager.start_essential_servers() result = benchmark(startup_servers) assert result.startup_time < 10.0, "MCP server startup exceeds 10s limit" ``` **Performance Test Execution:** ```bash # Run performance test suite python -m pytest tests/performance/ -v --benchmark-only # Generate performance report python -m pytest tests/performance/ --benchmark-json=performance_report.json # Memory profiling python -m memory_profiler tests/performance/test_benchmarks.py # Continuous performance monitoring python scripts/monitor_performance.py --duration 300 --output performance_metrics.json ``` **Performance Regression Testing:** ```python # scripts/performance_regression.py import json import sys from pathlib import Path def check_performance_regression(current_metrics, baseline_metrics): """Check for performance regressions against baseline""" regressions = [] for metric, current_value in current_metrics.items(): baseline_value = baseline_metrics.get(metric, 0) # Allow 10% performance degradation threshold if current_value > baseline_value * 1.1: regression_percent = ((current_value - baseline_value) / baseline_value) * 100 regressions.append({ 'metric': metric, 'current': current_value, 'baseline': baseline_value, 'regression_percent': regression_percent }) return regressions def main(): current_metrics = json.load(open('performance_report.json')) baseline_metrics = json.load(open('baseline_performance.json')) regressions = check_performance_regression(current_metrics, baseline_metrics) if regressions: print("โŒ Performance regressions detected:") for regression in regressions: print(f" {regression['metric']}: {regression['regression_percent']:.1f}% slower") sys.exit(1) else: print("โœ… No performance regressions detected") sys.exit(0) if __name__ == "__main__": main() ``` ## ๐Ÿ”„ Backward Compatibility Guidelines ### Compatibility Requirements โฑ๏ธ **5-10 minutes review** **๐ŸŽฏ Skill Level: Intermediate to Advanced** Maintain backward compatibility to ensure smooth upgrades for existing users: #### Compatibility Matrix **API Compatibility:** - Public APIs must maintain signature compatibility - Deprecated features require 2-version warning period - Breaking changes only allowed in major version releases - Configuration file formats must support migration **Component Compatibility:** - Existing component installations must continue working - New components cannot break existing functionality - Agent coordination protocols maintain interface stability - MCP server integrations support version negotiation **Configuration Compatibility:** ```python # setup/core/compatibility.py class CompatibilityManager: """Manages backward compatibility for SuperClaude Framework""" SUPPORTED_VERSIONS = ['3.0', '3.1', '3.2', '4.0-beta'] MIGRATION_PATHS = { '3.0': 'migrate_from_v3_0', '3.1': 'migrate_from_v3_1', '3.2': 'migrate_from_v3_2' } def check_compatibility(self, installed_version: str) -> bool: """Check if installed version is compatible""" return installed_version in self.SUPPORTED_VERSIONS def migrate_configuration(self, from_version: str, config_path: Path): """Migrate configuration from older version""" if from_version not in self.MIGRATION_PATHS: raise UnsupportedVersionError(f"Cannot migrate from {from_version}") migration_method = getattr(self, self.MIGRATION_PATHS[from_version]) return migration_method(config_path) def migrate_from_v3_2(self, config_path: Path): """Migrate V3.2 configuration to V4.0""" # Load existing configuration old_config = self._load_config(config_path) # Apply V4.0 schema changes new_config = { 'version': '4.0', 'core': old_config.get('core', {}), 'agents': self._migrate_agents_config(old_config.get('agents', {})), 'mcp_servers': self._migrate_mcp_config(old_config.get('mcp', {})), 'modes': old_config.get('behavioral_modes', {}), 'backward_compatibility': { 'original_version': old_config.get('version', '3.2'), 'migration_timestamp': time.time() } } # Create backup before migration self._create_backup(config_path, old_config) # Write migrated configuration self._save_config(config_path, new_config) return new_config ``` **Deprecation Protocol:** ```python # utils/deprecation.py import warnings from functools import wraps def deprecated(version_removed: str, alternative: str = None): """Mark functions/methods as deprecated with migration guidance""" def decorator(func): @wraps(func) def wrapper(*args, **kwargs): message = f"{func.__name__} is deprecated and will be removed in version {version_removed}" if alternative: message += f". Use {alternative} instead" warnings.warn(message, DeprecationWarning, stacklevel=2) return func(*args, **kwargs) return wrapper return decorator # Example usage @deprecated("5.0.0", "new_component_installer()") def legacy_component_installer(): """Legacy component installation method""" pass ``` **Testing Backward Compatibility:** ```bash # Test compatibility with previous versions python -m pytest tests/compatibility/ -v # Test configuration migration python scripts/test_migration.py --from-version 3.2 --to-version 4.0 # Validate deprecated features still work python -m pytest tests/compatibility/test_deprecated.py -v ``` ## Release Process ### Version Management **Semantic Versioning (SemVer):** - **Major (X.0.0)**: Breaking changes requiring user action - **Minor (X.Y.0)**: New features, backward compatible - **Patch (X.Y.Z)**: Bug fixes, backward compatible **Version Update Process:** ```bash # 1. Update version in setup.py and __init__.py # 2. Update CHANGELOG.md with release notes # 3. Create version tag git tag -a v4.0.1 -m "Release v4.0.1: Add research agent and enhanced MCP integration" # 4. Push tag git push upstream v4.0.1 ``` **Release Branches:** - **master**: Stable releases - **SuperClaude_V4_Beta**: V4 Beta releases and development - **hotfix/***: Critical fixes for production ### Enhanced Release Process Documentation โฑ๏ธ **45-60 minutes** **๐ŸŽฏ Skill Level: Advanced (Release Managers)** #### Pre-Release Validation Checklist **Code Quality Gates:** - [ ] All tests pass with >95% coverage: `python3 -m pytest tests/ --cov=setup --cov-fail-under=95` - [ ] Installation validation passes: `python3 scripts/validate_pypi_ready.py` - [ ] Security scan passes: `python3 -m bandit -r setup/ SuperClaude/` - [ ] Performance benchmarks within thresholds: `python3 scripts/performance_regression.py` - [ ] Documentation builds without errors: `python3 scripts/build_docs.py` - [ ] Linting and formatting clean: `python3 -m black --check . && python3 -m pylint setup/` **Documentation Requirements:** - [ ] CHANGELOG.md updated with comprehensive release notes - [ ] Version numbers updated in all files (`setup.py`, `__init__.py`, docs) - [ ] Breaking changes documented with migration examples - [ ] New features documented with usage examples - [ ] API documentation generated and reviewed - [ ] Migration guides created for major version changes **Compatibility Validation:** - [ ] Backward compatibility tests pass: `python3 -m pytest tests/compatibility/` - [ ] Configuration migration tested: `python3 scripts/test_migration.py --all-versions` - [ ] Cross-platform testing completed (Linux, macOS, Windows) - [ ] Python version compatibility verified (3.8, 3.9, 3.10, 3.11+) - [ ] Dependencies compatibility checked: `python3 scripts/check_dependencies.py` #### Release Process Automation **Automated Release Pipeline:** ```bash #!/bin/bash # scripts/release_pipeline.sh set -e # Exit on any error VERSION=${1:?"Version parameter required (e.g., 4.0.1)"} RELEASE_TYPE=${2:-"patch"} # major, minor, patch echo "๐Ÿš€ Starting SuperClaude Framework Release Pipeline v${VERSION}" # Step 1: Validate environment echo "๐Ÿ“‹ Step 1: Environment Validation" python3 scripts/validate_release_environment.py --version ${VERSION} # Step 2: Run comprehensive test suite echo "๐Ÿงช Step 2: Comprehensive Testing" python3 -m pytest tests/ --cov=setup --cov-fail-under=95 --junit-xml=test-results.xml python3 scripts/performance_regression.py python3 -m bandit -r setup/ SuperClaude/ -f json -o security-report.json # Step 3: Version management echo "๐Ÿ“ฆ Step 3: Version Management" python3 scripts/update_version.py --version ${VERSION} --type ${RELEASE_TYPE} git add . git commit -m "chore: bump version to ${VERSION}" # Step 4: Build and package echo "๐Ÿ”จ Step 4: Build and Package" rm -rf dist/ build/ python3 setup.py sdist bdist_wheel python3 -m twine check dist/* # Step 5: Generate release notes echo "๐Ÿ“ Step 5: Generate Release Notes" python3 scripts/generate_release_notes.py --version ${VERSION} --output RELEASE_NOTES.md # Step 6: Create release tag echo "๐Ÿท๏ธ Step 6: Create Release Tag" git tag -a v${VERSION} -m "Release v${VERSION}" # Step 7: Deploy to staging echo "๐Ÿš€ Step 7: Staging Deployment" python3 scripts/deploy_staging.py --version ${VERSION} # Step 8: Run integration tests against staging echo "๐Ÿ” Step 8: Integration Testing" python3 -m pytest tests/integration/ --staging --version ${VERSION} echo "โœ… Release pipeline completed successfully!" echo "๐Ÿ“‹ Next steps:" echo "1. Review staging deployment: https://staging.superclaude.dev" echo "2. Run final manual testing" echo "3. Execute production release: ./scripts/deploy_production.sh ${VERSION}" ``` **Version Management Script:** ```python # scripts/update_version.py import re import sys import argparse from pathlib import Path def update_version(version: str, release_type: str): """Update version numbers across all project files""" files_to_update = [ 'setup.py', 'SuperClaude/__init__.py', 'setup/core/__init__.py', 'docs/conf.py' ] version_pattern = r'version\s*=\s*["\']([^"\']+)["\']' for file_path in files_to_update: path = Path(file_path) if not path.exists(): print(f"โš ๏ธ File not found: {file_path}") continue content = path.read_text() # Update version string updated_content = re.sub( version_pattern, f'version = "{version}"', content ) path.write_text(updated_content) print(f"โœ… Updated version in {file_path}") # Update package.json for NPM wrapper package_json = Path('package.json') if package_json.exists(): import json with open(package_json) as f: data = json.load(f) data['version'] = version with open(package_json, 'w') as f: json.dump(data, f, indent=2) print(f"โœ… Updated version in package.json") if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('--version', required=True) parser.add_argument('--type', choices=['major', 'minor', 'patch'], default='patch') args = parser.parse_args() update_version(args.version, args.type) ``` #### Release Notes Generation **Automated Release Notes:** ```python # scripts/generate_release_notes.py import subprocess import re from datetime import datetime from pathlib import Path class ReleaseNotesGenerator: def __init__(self, version: str): self.version = version self.previous_version = self._get_previous_version() def generate(self) -> str: """Generate comprehensive release notes""" sections = [ self._generate_header(), self._generate_summary(), self._generate_new_features(), self._generate_improvements(), self._generate_bug_fixes(), self._generate_breaking_changes(), self._generate_migration_guide(), self._generate_performance_notes(), self._generate_acknowledgments() ] return '\n\n'.join(filter(None, sections)) def _generate_header(self) -> str: return f"""# SuperClaude Framework {self.version} **Release Date**: {datetime.now().strftime('%Y-%m-%d')} **Previous Version**: {self.previous_version} ## Release Highlights ๐ŸŽฏ **Focus**: [Major theme of this release] โฑ๏ธ **Development Time**: [X weeks/months] ๐Ÿ‘ฅ **Contributors**: {self._count_contributors()} contributors ๐Ÿ“ˆ **Performance**: [Key performance improvements] ๐Ÿ”ง **Compatibility**: {self._check_compatibility()}""" def _generate_new_features(self) -> str: """Extract new features from commit messages""" features = self._get_commits_by_type('feat') if not features: return None feature_list = [] for commit in features: feature_list.append(f"- **{commit['scope']}**: {commit['description']}") if commit.get('details'): feature_list.append(f" {commit['details']}") return f"""## ๐Ÿ†• New Features {chr(10).join(feature_list)}""" def _generate_performance_notes(self) -> str: """Generate performance improvement summary""" perf_commits = self._get_commits_by_type('perf') if not perf_commits: return None return f"""## โšก Performance Improvements {chr(10).join(f"- {commit['description']}" for commit in perf_commits)} **Benchmark Results:** - Component installation: {self._get_benchmark('installation')} - Agent coordination: {self._get_benchmark('coordination')} - Memory usage: {self._get_benchmark('memory')}""" ``` #### Production Deployment Process **Production Release Checklist:** - [ ] Staging deployment successful and tested - [ ] Performance benchmarks validated - [ ] Security scans passed - [ ] Documentation deployed and accessible - [ ] Rollback plan prepared and tested - [ ] Monitoring alerts configured - [ ] Release notes published - [ ] Community announcement prepared **Deployment Script:** ```bash #!/bin/bash # scripts/deploy_production.sh VERSION=${1:?"Version parameter required"} echo "๐Ÿš€ Deploying SuperClaude Framework v${VERSION} to Production" # Final safety checks read -p "โš ๏ธ Are you sure you want to deploy v${VERSION} to production? (yes/no): " confirm if [ "$confirm" != "yes" ]; then echo "โŒ Deployment cancelled" exit 1 fi # Deploy to PyPI echo "๐Ÿ“ฆ Publishing to PyPI..." python3 -m twine upload dist/* --repository pypi # Deploy NPM wrapper echo "๐Ÿ“ฆ Publishing NPM package..." npm publish # Update GitHub release echo "๐Ÿ“ Creating GitHub release..." gh release create v${VERSION} \ --title "SuperClaude Framework v${VERSION}" \ --notes-file RELEASE_NOTES.md \ --latest # Deploy documentation echo "๐Ÿ“š Deploying documentation..." python3 scripts/deploy_docs.py --version ${VERSION} # Update package managers echo "๐Ÿ“ฆ Updating package managers..." python3 scripts/update_package_managers.py --version ${VERSION} # Post-deployment verification echo "๐Ÿ” Post-deployment verification..." python3 scripts/verify_deployment.py --version ${VERSION} # Send notifications echo "๐Ÿ“ข Sending release notifications..." python3 scripts/notify_release.py --version ${VERSION} echo "โœ… Production deployment completed successfully!" echo "๐ŸŽ‰ SuperClaude Framework v${VERSION} is now live!" ``` #### Post-Release Monitoring **Release Health Monitoring:** ```python # scripts/monitor_release.py import requests import time from datetime import datetime, timedelta class ReleaseMonitor: def __init__(self, version: str): self.version = version self.start_time = datetime.now() def monitor_release_health(self, duration_hours: int = 24): """Monitor release health for specified duration""" end_time = self.start_time + timedelta(hours=duration_hours) while datetime.now() < end_time: health_report = { 'pypi_availability': self._check_pypi_availability(), 'download_stats': self._get_download_stats(), 'error_reports': self._check_error_reports(), 'performance_metrics': self._get_performance_metrics(), 'user_feedback': self._get_user_feedback() } # Alert on critical issues if self._has_critical_issues(health_report): self._send_alert(health_report) # Generate hourly report self._generate_health_report(health_report) # Sleep for 1 hour time.sleep(3600) def _check_pypi_availability(self) -> dict: """Check if package is available on PyPI""" try: response = requests.get(f"https://pypi.org/project/SuperClaude/{self.version}/") return { 'status': 'available' if response.status_code == 200 else 'unavailable', 'response_time': response.elapsed.total_seconds() } except Exception as e: return {'status': 'error', 'error': str(e)} ``` #### Hotfix Process **Emergency Hotfix Procedure:** ```bash #!/bin/bash # scripts/emergency_hotfix.sh HOTFIX_VERSION=${1:?"Hotfix version required (e.g., 4.0.1-hotfix.1)"} ISSUE_ID=${2:?"Issue ID required"} echo "๐Ÿšจ Emergency Hotfix Process for v${HOTFIX_VERSION}" # Create hotfix branch from production git checkout master git pull origin master git checkout -b hotfix/${HOTFIX_VERSION} # Apply critical fix echo "โš ๏ธ Apply your critical fix and commit with:" echo "git commit -m \"fix: critical hotfix for issue #${ISSUE_ID}\"" echo "" echo "Press ENTER when ready to continue..." read # Fast-track testing echo "๐Ÿงช Running critical tests..." python3 -m pytest tests/critical/ -v python3 scripts/validate_pypi_ready.py # Emergency deployment echo "๐Ÿš€ Emergency deployment..." python3 scripts/update_version.py --version ${HOTFIX_VERSION} --type hotfix python3 setup.py sdist bdist_wheel python3 -m twine upload dist/* # Create emergency release gh release create v${HOTFIX_VERSION} \ --title "Emergency Hotfix v${HOTFIX_VERSION}" \ --notes "Critical hotfix for issue #${ISSUE_ID}" \ --prerelease echo "โœ… Emergency hotfix deployed!" echo "๐Ÿ“‹ Post-deployment actions:" echo "1. Monitor system health" echo "2. Notify community of hotfix" echo "3. Plan proper fix for next regular release" ``` ## Contributing to V4 Components > **๐Ÿ—๏ธ Architecture Context**: Understanding V4 component architecture is essential. Review [Technical Architecture Guide](technical-architecture.md#agent-coordination) for agent coordination patterns and [Technical Architecture Guide](technical-architecture.md#mcp-integration) for MCP server specifications. ### Creating New Agents **Agent Development Process:** 1. **Identify Need**: Clear use case and domain expertise gap 2. **Define Specialization**: Unique capabilities and triggers 3. **Implement Component**: Following agent development pattern 4. **Create Documentation**: Agent description and examples 5. **Test Integration**: Verify activation and coordination **Agent Implementation Example:** ```python # setup/components/custom_agent.py from pathlib import Path from typing import Dict, Any from setup.components.base import BaseComponent class DataScienceAgentComponent(BaseComponent): def get_metadata(self) -> Dict[str, Any]: return { 'name': 'data_scientist_agent', 'description': 'Specialized agent for data science and ML workflows', 'dependencies': ['core'] } def install(self, install_dir: Path) -> None: agent_file = install_dir / 'AGENT_DataScientist.md' self._write_agent_definition(agent_file, { 'expertise': ['data_analysis', 'machine_learning', 'statistical_modeling'], 'triggers': ['data', 'analytics', 'machine learning', 'statistics'], 'capabilities': ['data_preprocessing', 'model_development', 'visualization'], 'collaboration_style': 'analytical_contributor' }) ``` **Agent Documentation Template:** ```markdown # Data Scientist Agent ๐Ÿ“Š **Purpose**: Advanced data science and machine learning expertise **Auto-Activation Triggers:** - Keywords: data, analytics, ML, statistics, pandas, numpy - File types: .ipynb, .csv, .parquet - Domain: data science workflows **Capabilities:** - Data analysis and preprocessing - Statistical modeling and hypothesis testing - Machine learning model development - Data visualization and reporting **Examples:** - Exploratory data analysis workflows - ML model selection and optimization - Statistical significance testing - Data pipeline development ``` ### Developing Behavioral Modes **Mode Development Guidelines:** 1. **Clear Purpose**: Specific behavioral modification goal 2. **Distinct Triggers**: Unique activation patterns 3. **Measurable Impact**: Quantifiable behavioral changes 4. **Documentation**: Complete usage examples 5. **Integration**: Compatibility with existing modes **Mode Implementation Example:** ```markdown # MODE_Research.md **Purpose**: Academic and technical research with systematic methodology ## Activation Triggers - Research keywords: research, study, investigate, literature - Academic contexts: citation, peer review, hypothesis - Manual flags: --research, --academic ## Behavioral Changes - **Systematic Methodology**: Structure research with clear phases - **Source Validation**: Verify information credibility and currency - **Citation Management**: Proper attribution and reference formatting - **Evidence-Based**: Support claims with verifiable sources ## Examples Standard: "Tell me about microservices" Research: "๐Ÿ“š Research Methodology: 1. Literature review of microservices patterns 2. Industry case studies and implementations 3. Performance benchmarks and trade-offs ๐Ÿ“– Sources: [Academic papers, industry reports]" ``` ### Enhancing Session Lifecycle **Session Enhancement Areas:** 1. **Memory Management**: Improve context preservation and retrieval 2. **Cross-Session Learning**: Enhance pattern recognition and adaptation 3. **Multi-User Coordination**: Team session coordination features 4. **Performance Optimization**: Memory efficiency and loading speed 5. **Recovery Mechanisms**: Robust session recovery and backup **Session Development Pattern:** ```python # Extending session management from typing import Dict, Any class SessionEnhancement: def enhance_memory_retention(self, session_context: Dict[str, Any]) -> None: # Implement improved memory compression # Add intelligent context pruning # Enhance pattern recognition pass def add_collaboration_features(self, session_id: str) -> None: # Multi-developer session coordination # Shared project context # Conflict resolution mechanisms pass ``` **Session Contribution Requirements:** - **Backward Compatibility**: Existing sessions must work unchanged - **Performance**: No degradation in session load/save times - **Testing**: Comprehensive session lifecycle testing - **Documentation**: Clear session enhancement examples ### MCP Server Integration **MCP Server Development Process:** 1. **Capability Definition**: Clear server purpose and functions 2. **Protocol Implementation**: Standard MCP protocol compliance 3. **SuperClaude Integration**: Auto-activation and coordination 4. **Testing**: Server functionality and integration testing 5. **Documentation**: Usage patterns and examples **MCP Server Integration Example:** ```python # setup/components/custom_mcp.py from pathlib import Path from typing import Dict, Any from setup.components.base import BaseComponent class DatabaseAnalyzerMCPComponent(BaseComponent): def get_metadata(self) -> Dict[str, Any]: return { 'name': 'database_analyzer_mcp', 'description': 'Database query optimization and schema analysis', 'dependencies': ['core', 'mcp'] } def install(self, install_dir: Path) -> None: # Add to MCP configuration self._add_mcp_server_config({ 'database-analyzer': { 'command': 'node', 'args': ['/path/to/database-analyzer-server.js'], 'capabilities': ['query_optimization', 'schema_analysis'], 'auto_activation': ['database', 'sql', 'query optimization'] } }) # Create server instruction file self._create_mcp_instructions('MCP_DatabaseAnalyzer.md') ``` **MCP Integration Requirements:** - **Protocol Compliance**: Standard MCP protocol implementation - **Error Handling**: Robust connection and error recovery - **Performance**: Acceptable latency and resource usage - **Documentation**: Clear capability and usage documentation ## Error Handling and Troubleshooting > **๐Ÿ” Debug Resources**: For comprehensive debugging procedures, performance troubleshooting, and testing strategies, see [Testing & Debugging Guide](testing-debugging.md). ### Common Development Issues **Installation Problems:** *Issue: `ModuleNotFoundError: No module named 'SuperClaude'`* ```bash # Solution: Install in development mode python3 -m pip install -e ".[dev]" # Verify installation python3 -c "import SuperClaude; print(SuperClaude.__version__)" ``` *Issue: `Permission denied` when copying configuration files* ```bash # Solution: Check directory permissions ls -la ~/.claude/ mkdir -p ~/.claude chmod 755 ~/.claude # Copy with explicit permissions cp -r SuperClaude/Core/* ~/.claude/ chmod -R 644 ~/.claude/*.md ``` *Issue: `pytest` command not found* ```bash # Solution: Use module syntax or install globally python3 -m pytest tests/ # OR python3 -m pip install pytest ``` **Configuration Issues:** *Issue: Claude Code not detecting SuperClaude configuration* ```bash # Verify configuration location echo $CLAUDE_CONFIG_DIR ls -la ~/.claude/ # Verify files are in correct format python3 -c " import os claude_dir = os.path.expanduser('~/.claude') files = os.listdir(claude_dir) print('Configuration files:', files) " ``` *Issue: MCP servers not starting* ```bash # Check Node.js and server paths node --version ls -la SuperClaude/MCP/configs/ # Verify MCP server configuration python3 -c " import json with open('SuperClaude/MCP/configs/mcp_servers.json') as f: config = json.load(f) print('MCP servers configured:', list(config.keys())) " ``` **Testing Issues:** *Issue: Tests failing with import errors* ```bash # Ensure proper PYTHONPATH export PYTHONPATH=$PWD:$PYTHONPATH python3 -m pytest tests/ -v # Check test dependencies python3 -m pip install -e ".[test]" ``` *Issue: `validate_pypi_ready.py` script fails* ```bash # Check script permissions and dependencies chmod +x scripts/validate_pypi_ready.py python3 scripts/validate_pypi_ready.py --verbose # Install validation dependencies python3 -m pip install twine check-manifest ``` ### Debugging Development Environment **Environment Diagnostics Script:** ```bash #!/bin/bash # debug_environment.sh echo "๐Ÿ” SuperClaude Development Environment Diagnostics" echo "================================================" echo "๐Ÿ“ Current Directory: $(pwd)" echo "๐Ÿ Python Version: $(python3 --version)" echo "๐Ÿ“ฆ Pip Version: $(python3 -m pip --version)" echo "๐ŸŒฟ Git Version: $(git --version)" echo "โšก Node.js Version: $(node --version 2>/dev/null || echo 'Not installed')" echo -e "\n๐Ÿ“‚ Directory Structure:" ls -la | head -10 echo -e "\n๐Ÿ”ง Virtual Environment:" if [ -n "$VIRTUAL_ENV" ]; then echo "โœ… Active: $VIRTUAL_ENV" else echo "โŒ No virtual environment detected" fi echo -e "\n๐Ÿ“‹ Environment Variables:" env | grep -E "(CLAUDE|SUPERCLAUDE|PYTHON)" | sort echo -e "\n๐ŸŽฏ SuperClaude Installation:" python3 -c " try: import SuperClaude print(f'โœ… SuperClaude {SuperClaude.__version__} installed') print(f'๐Ÿ“ Location: {SuperClaude.__file__}') except ImportError as e: print(f'โŒ SuperClaude not found: {e}') " echo -e "\n๐Ÿ—‚๏ธ Configuration Files:" if [ -d ~/.claude ]; then echo "โœ… Config directory exists: ~/.claude" ls -la ~/.claude/ | head -5 else echo "โŒ Config directory not found: ~/.claude" fi echo -e "\n๐Ÿงช Test Environment:" python3 -c " import sys import subprocess try: result = subprocess.run([sys.executable, '-m', 'pytest', '--version'], capture_output=True, text=True) print(f'โœ… pytest: {result.stdout.strip()}') except: print('โŒ pytest not available') " ``` **Performance Troubleshooting:** ```bash # Memory usage monitoring python3 -c " import psutil memory = psutil.virtual_memory() print(f'Memory usage: {memory.percent}%') print(f'Available: {memory.available / (1024**3):.1f}GB') " # Disk space monitoring df -h . | awk 'NR==2 {print "Disk usage:", $5, "Available:", $4}' # Process monitoring during development ps aux | grep python3 | head -5 ``` ### Recovery Procedures **Clean Development Environment Reset:** ```bash #!/bin/bash # reset_dev_environment.sh echo "๐Ÿ”„ Resetting SuperClaude Development Environment..." # Remove virtual environment rm -rf venv/ # Clean Python cache find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null find . -name "*.pyc" -delete # Clean build artifacts rm -rf build/ dist/ *.egg-info/ # Reset configuration rm -rf ~/.claude/ mkdir -p ~/.claude # Recreate virtual environment python3 -m venv venv source venv/bin/activate # Reinstall dependencies python3 -m pip install --upgrade pip python3 -m pip install -e ".[dev]" # Recopy configuration cp -r SuperClaude/Core/* ~/.claude/ echo "โœ… Development environment reset complete!" ``` **Backup and Restore Configuration:** ```bash # Backup current configuration tar -czf superclaude_config_backup_$(date +%Y%m%d_%H%M%S).tar.gz ~/.claude/ # Restore from backup tar -xzf superclaude_config_backup_*.tar.gz -C / ``` ### Getting Diagnostic Information **Issue Reporting Template:** ```bash # Run this command to gather diagnostic information for issue reports python3 -c " import sys, platform, subprocess, os print('# SuperClaude Development Environment Report') print(f'**Date:** {__import__('datetime').datetime.now().isoformat()}') print(f'**Platform:** {platform.platform()}') print(f'**Python:** {sys.version.split()[0]}') try: result = subprocess.run(['git', 'rev-parse', 'HEAD'], capture_output=True, text=True) print(f'**Git Commit:** {result.stdout.strip()[:8]}') except: print('**Git Commit:** Unknown') print(f'**Working Directory:** {os.getcwd()}') print(f'**Virtual Environment:** {os.environ.get("VIRTUAL_ENV", "None")}') try: import SuperClaude print(f'**SuperClaude Version:** {SuperClaude.__version__}') except: print('**SuperClaude Version:** Not installed') " ``` ## Security Guidelines > **๐Ÿ›ก๏ธ Comprehensive Security**: This section covers development security practices. For security testing procedures and validation frameworks, see [Testing & Debugging Guide](testing-debugging.md#security-testing). ### Secure Development Practices **Code Security:** - **Input Validation**: Always validate and sanitize user inputs - **Path Traversal Prevention**: Use `pathlib.Path.resolve()` for file operations - **Dependency Security**: Regularly audit dependencies with `pip-audit` - **Secret Management**: Never commit secrets, API keys, or passwords **Secure Coding Examples:** ```python # โœ… GOOD: Secure file path handling from pathlib import Path def safe_file_operation(user_path): base_dir = Path("/safe/base/directory").resolve() user_file = (base_dir / user_path).resolve() # Ensure file is within safe directory if not str(user_file).startswith(str(base_dir)): raise ValueError("Invalid file path") return user_file # โŒ BAD: Unsafe file operations def unsafe_file_operation(user_path): return open(user_path) # Vulnerable to path traversal ``` **Dependency Security:** ```bash # Install security audit tools python3 -m pip install pip-audit safety # Audit dependencies for vulnerabilities python3 -m pip-audit # Check for known security issues python3 -m safety check # Use dependency pinning in requirements.txt python3 -m pip freeze > requirements-dev.txt ``` **Environment Security:** ```bash # Use environment variables for sensitive configuration export SUPERCLAUDE_API_KEY="your-key-here" export SUPERCLAUDE_DEBUG=false # Never commit .env files with secrets echo "*.env" >> .gitignore echo "**/.env*" >> .gitignore ``` ### Code Review Security Checklist **Security Review Items:** - [ ] No hardcoded secrets or API keys - [ ] Input validation for all user inputs - [ ] Safe file path operations - [ ] Proper error handling (no information disclosure) - [ ] Dependency security audit passed - [ ] No unsafe `eval()` or `exec()` usage - [ ] Proper authentication/authorization checks **Automated Security Checks:** ```bash # Add to CI/CD pipeline python3 -m bandit -r setup/ SuperClaude/ python3 -m pip-audit python3 -m safety check ``` ### Security Incident Response **If Security Issue Discovered:** 1. **Do NOT** create public GitHub issue 2. Email security concerns to: security@superclaude.org 3. Include: Impact assessment, reproduction steps, suggested fix 4. Wait for security team response before disclosure **Security Disclosure Timeline:** - **Day 0**: Report received, acknowledged within 24h - **Day 1-3**: Initial assessment and triage - **Day 4-14**: Investigation and fix development - **Day 15-30**: Testing and coordinated disclosure - **Day 31+**: Public disclosure after fix deployment ## Getting Help ### Development Channels **Primary Support Channels:** - **GitHub Issues**: Bug reports, feature requests, technical questions - **GitHub Discussions**: General questions, ideas, community chat - **Pull Request Reviews**: Code-specific feedback and guidance - **Documentation**: Comprehensive guides and examples **Channel Guidelines:** - **Issues**: Specific, reproducible problems with detailed information - **Discussions**: Open-ended questions, ideas, and community interaction - **Pull Requests**: Code review, implementation feedback, technical guidance **Response Expectations:** - **Critical Issues**: 24-48 hours - **General Questions**: 2-5 days - **Feature Requests**: Weekly review cycle - **Pull Requests**: 3-7 days initial review ### Common Development Questions **Q: How do I test my component changes locally?** ```bash # Install in development mode python3 -m pip install -e ".[dev]" # Test specific component python3 -m SuperClaude install --dry-run --components your-component # Run test suite python3 -m pytest tests/test_your_component.py ``` **Q: Where should I add my custom agent?** ``` # Agent files go in: SuperClaude/Agents/AGENT_YourAgent.md # Component definition goes in: setup/components/your_agent.py # Tests go in: tests/test_your_agent.py ``` **Q: How do I handle component dependencies?** ```python from typing import Dict, Any, List def get_dependencies(self) -> List[str]: return ['core', 'mcp'] # Required components def get_metadata(self) -> Dict[str, Any]: return { 'dependencies': ['core', 'mcp'], 'optional_dependencies': ['agents'] } ``` **Q: What's the difference between agents and MCP servers?** - **Agents**: Behavioral specializations within Claude Code - **MCP Servers**: External tools that extend capabilities - **Agents** coordinate; **MCP servers** provide enhanced functionality **Q: How do I contribute documentation?** 1. Find documentation TODOs in relevant files 2. Follow markdown conventions and examples 3. Test all code examples 4. Submit PR with documentation changes **Q: My MCP server isn't activating automatically. Why?** Check: 1. Server defined in MCP configuration 2. Auto-activation triggers properly configured 3. Server starts successfully 4. Triggers match user input patterns ## ๐Ÿ“„ License **MIT License**: SuperClaude Framework is licensed under the MIT License, providing maximum freedom for use, modification, and distribution. **Contribution License Agreement:** By contributing to SuperClaude Framework, you agree that your contributions will be licensed under the same MIT License. You retain copyright to your contributions while granting the project perpetual rights to use, modify, and distribute your code. **Third-Party Dependencies:** Ensure any dependencies you add are compatible with MIT License. Common compatible licenses: MIT, Apache 2.0, BSD. Avoid GPL and other copyleft licenses. ## ๐Ÿ™ Acknowledgments **Core Contributors:** - Framework architecture and implementation - Community management and support - Documentation and user experience - Testing and quality assurance **Community Impact:** SuperClaude Framework exists because of the collaborative effort of developers, users, and contributors who believe in advancing AI-assisted development. Every bug report, feature suggestion, documentation improvement, and code contribution makes the framework better for everyone. **Special Recognition:** - **Early Adopters**: Testing and feedback during beta development - **Documentation Contributors**: Improving accessibility and usability - **Bug Hunters**: Finding and reporting issues that improve stability - **Feature Contributors**: Adding capabilities that expand framework utility **Contributing Recognition:** All contributors are recognized in our GitHub contributors page and release notes. Significant contributions may be highlighted in project announcements and community updates. **Join the Community:** Your expertise and perspective make SuperClaude Framework better. Whether you're fixing typos, adding features, or helping other users, every contribution advances the goal of more effective AI-assisted development. **Thank you for contributing to the future of AI-enhanced development tools! ๐Ÿš€** --- ## Glossary **For Screen Readers**: This glossary contains alphabetically ordered technical terms used throughout SuperClaude Framework documentation. Each term includes a clear definition and relevant context. ### A **Agent**: A specialized AI persona with domain expertise (e.g., system-architect, security-engineer) that coordinates with other agents to solve complex development tasks. Agents have defined roles, triggers, and capabilities within the SuperClaude orchestration system. **Agent Coordination**: The intelligent orchestration of multiple specialized AI agents working together on complex tasks, with clear communication patterns, decision hierarchies, and collaborative synthesis. **Architecture Overview**: A high-level view of SuperClaude's system design, including the meta-framework approach, component relationships, and orchestration patterns. ### B **Behavioral Programming**: AI behavior modification through structured configuration files (.md files) that inject instructions into Claude Code without requiring code changes. **Behavioral Modes**: Meta-cognitive frameworks that modify interaction patterns (e.g., brainstorming, introspection, task-management) and influence communication style and tool selection. ### C **Claude Code**: The base AI development assistant that SuperClaude enhances through instruction injection and orchestration capabilities. **Component System**: Modular installation architecture with dependency resolution, allowing selective installation and configuration of SuperClaude features. **Configuration-Driven Behavior**: System behavior modification through structured configuration files rather than code changes, enabling flexible AI customization. ### D **Detection Engine**: Intelligent system that analyzes tasks for complexity, domain classification, and appropriate agent/tool selection based on pattern matching and context analysis. **Domain Expertise**: Specialized knowledge areas (e.g., security, performance, frontend, backend) that agents possess and contribute to collaborative problem-solving. ### E **Error Handling Architecture**: Comprehensive fault tolerance and recovery framework that manages component failures, connection issues, and graceful degradation. **Extensibility**: Plugin architecture and extension patterns that allow developers to add new agents, modes, MCP servers, and behavioral modifications. ### F **Framework Components**: Modular parts of SuperClaude including Core (behavioral instructions), Modes (interaction patterns), MCP integrations, Commands, and Agents. ### I **Installation System**: Automated setup and configuration system that manages component installation, dependency resolution, and environment configuration. **Intelligent Orchestration**: Dynamic coordination of specialized agents, MCP servers, and behavioral modes based on context analysis and task complexity detection. ### M **MCP Integration**: Model Context Protocol server coordination and management, enabling external tool integration and enhanced capabilities. **MCP Servers**: External tools that extend Claude Code capabilities (e.g., context7 for documentation, sequential for analysis, magic for UI generation). **Meta-Framework**: Enhancement layer for Claude Code through instruction injection rather than code modification, maintaining compatibility while adding orchestration capabilities. ### O **Orchestration Layer**: System component responsible for agent selection, MCP activation, and behavioral mode control based on task analysis and routing intelligence. ### P **Performance System**: Optimization and resource management framework that monitors execution time, memory usage, and system resource allocation. ### Q **Quality Framework**: Validation systems and quality gates that ensure code quality, security compliance, and performance standards throughout development workflows. **Quality Validation**: Multi-dimensional quality assessment including functionality, security, performance, and maintainability validation frameworks. ### R **Routing Intelligence**: System that determines appropriate agent selection and resource allocation based on task analysis, complexity scoring, and capability matching. ### S **Security Architecture**: Multi-layer security model with protection frameworks, secure coding practices, and vulnerability testing integrated throughout the development lifecycle. **Session Management**: Context preservation and cross-session learning capabilities that maintain project memory and enable intelligent adaptation over time. **System Architecture**: The overall design of SuperClaude Framework including detection engine, orchestration layer, execution framework, and foundation components. ### T **Task Complexity Scoring**: Algorithm that evaluates task difficulty based on file count, dependencies, multi-domain requirements, and implementation scope to guide resource allocation. **Testing Framework**: Comprehensive testing infrastructure including unit tests, integration tests, performance benchmarks, and security validation procedures. ### U **User Experience**: Design focus on making SuperClaude accessible to developers of all skill levels through clear documentation, intuitive workflows, and comprehensive support resources. ### V **V4 Architecture**: The latest SuperClaude Framework version featuring 13 specialized agents, 6 MCP servers, 5 behavioral modes, and enhanced orchestration capabilities. **Validation Gates**: Automated quality checkpoints throughout development workflows that ensure code quality, security compliance, and performance standards. ### Learning Resources for Beginners **Getting Started Path**: 1. **Basic Concepts**: Start with [Architecture Overview](#architecture-overview) to understand core concepts 2. **Environment Setup**: Follow [Development Setup](#development-setup) for step-by-step configuration 3. **First Contribution**: Complete the [Comprehensive Contributor Onboarding Checklist](#-comprehensive-contributor-onboarding-checklist) 4. **Practice**: Work through code examples and testing procedures **Essential Reading Order for New Contributors**: 1. This Contributing Guide (overview and setup) 2. [Technical Architecture Guide](technical-architecture.md) (system understanding) 3. [Testing & Debugging Guide](testing-debugging.md) (validation procedures) **Skill Level Indicators**: - **Beginner**: Documentation improvements, code comments, basic testing - **Intermediate**: Agent development, behavioral modes, component testing - **Advanced**: MCP integration, architecture changes, performance optimization **Support Resources**: - **GitHub Issues**: Specific technical questions and bug reports - **GitHub Discussions**: General questions and community interaction - **Documentation Cross-References**: Links between related concepts throughout guides