Thanks for your interest in contributing! 🙏
SuperClaude is a community-driven project that enhances Claude Code through modular hooks and intelligent orchestration. Every contribution helps make the framework more useful for developers.
- Python 3.12+ (standard library only)
- Node.js 18+ (for MCP servers)
- Claude Code installed and authenticated
# Clone the repository
git clone https://github.com/your-username/SuperClaude.git
cd SuperClaude
# Install SuperClaude
./install.sh --standard
# Run tests
python Tests/comprehensive_test.py- Use GitHub Issues with the "bug" label
- Include system info (OS, Python/Node versions)
- Provide minimal reproduction steps
- Include relevant hook logs from
~/.claude/
- Check existing issues and roadmap first
- Use GitHub Issues with the "enhancement" label
- Describe the use case and expected behavior
- Consider if it fits the framework's modular philosophy
- Fix typos or unclear explanations
- Add examples and use cases
- Improve installation guides
- Translate documentation (especially for Scribe persona)
- Focus on hooks, commands, or core framework components
- Follow existing patterns and conventions
- Include tests for new functionality
- Update documentation as needed
SuperClaude/
├── SuperClaude/
│ ├── Hooks/ # 15 Python hooks (main extension points)
│ ├── Commands/ # 14 slash commands
│ ├── Core/ # Framework documentation
│ └── Settings/ # Configuration files
├── Scripts/ # Installation and utility scripts
└── Tests/ # Test suite
Hooks are the primary extension mechanism:
- PreToolUse: Intercept before tool execution
- PostToolUse: Process after tool completion
- SubagentStop: Handle sub-agent lifecycle
- Stop: Session cleanup and synthesis
- Notification: Real-time event processing
# Full test suite
python Tests/comprehensive_test.py
# Specific components
python Tests/task_management_test.py
python Tests/performance_test_suite.py
# Hook integration tests
python SuperClaude/Hooks/test_orchestration_integration.py- Test hook behavior with mock data
- Include performance benchmarks
- Test error conditions and recovery
- Validate cross-component integration
#!/usr/bin/env python3
"""
Brief description of hook purpose.
Part of SuperClaude Framework v3.0
"""
import json
import sys
from typing import Dict, Any
def process_hook_data(data: Dict[str, Any]) -> Dict[str, Any]:
"""Process hook data with proper error handling."""
try:
# Implementation here
return {"status": "success", "data": result}
except Exception as e:
return {"status": "error", "message": str(e)}
if __name__ == "__main__":
# Standard hook entry point
input_data = json.loads(sys.stdin.read())
result = process_hook_data(input_data)
print(json.dumps(result))- Use clear headings and structure
- Include code examples where helpful
- Add emoji sparingly for clarity 🎯
- Keep language humble and developer-focused
type(scope): brief description
Longer explanation if needed.
- Specific changes made
- Why the change was needed
- Any breaking changes noted
Types: feat, fix, docs, test, refactor, perf, chore
git checkout -b feature/your-feature-name- Make focused, atomic changes
- Test locally with
--standardinstallation - Ensure hooks don't break existing functionality
- Clear title and description
- Reference related issues
- Include test results
- Update documentation if needed
- Address feedback promptly
- Keep discussions focused and respectful
- Be open to suggestions and improvements
- Follow Semantic Versioning
- Update
VERSIONfile - Document changes in
CHANGELOG.md - Tag releases:
git tag v3.0.1
- All tests pass
- Documentation updated
- CHANGELOG.md updated
- Version bumped
- Installation tested on clean system
- Welcome newcomers and different experience levels
- Focus on the code and ideas, not personal attributes
- Help others learn and improve
- Keep discussions relevant to SuperClaude's goals
- Avoid scope creep in feature requests
- Consider if changes fit the modular philosophy
- Test your changes thoroughly
- Consider performance impact
- Think about maintainability
- GitHub Issues: Bug reports and feature requests
- GitHub Discussions: General questions and ideas
- Documentation: Check existing guides first
Q: How do I debug hook execution?
A: Check logs in ~/.claude/ and use verbose logging for detailed output.
Q: Can I add new MCP servers?
A: Yes! Follow the pattern in settings.json and add integration hooks.
Q: How do I test changes without affecting my global setup?
A: Use a separate test environment or backup your ~/.claude directory before testing.
By contributing, you agree that your contributions will be licensed under the MIT License.
Thanks to all contributors who help make SuperClaude better for the development community!