|
| 1 | +# Pull Request |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +Brief description of what this PR accomplishes and why it's needed. |
| 6 | + |
| 7 | +## Type of Change |
| 8 | + |
| 9 | +Please check all that apply: |
| 10 | + |
| 11 | +- [ ] 🐛 Bug fix (non-breaking change which fixes an issue) |
| 12 | +- [ ] ✨ New feature (non-breaking change which adds functionality) |
| 13 | +- [ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected) |
| 14 | +- [ ] 📚 Documentation update |
| 15 | +- [ ] 🔧 Refactoring (no functional changes) |
| 16 | +- [ ] 🧪 Test improvements |
| 17 | +- [ ] ⚡ Performance improvements |
| 18 | +- [ ] 🔨 Build/CI improvements |
| 19 | +- [ ] 🌍 Cross-platform compatibility changes |
| 20 | + |
| 21 | +## Related Issues |
| 22 | + |
| 23 | +Closes #(issue number) |
| 24 | +Related to #(issue number) |
| 25 | + |
| 26 | +## Changes Made |
| 27 | + |
| 28 | +### Core Changes |
| 29 | +- |
| 30 | +- |
| 31 | + |
| 32 | +### Tests |
| 33 | +- |
| 34 | +- |
| 35 | + |
| 36 | +### Documentation |
| 37 | +- |
| 38 | +- |
| 39 | + |
| 40 | +## Testing |
| 41 | + |
| 42 | +### Test Plan |
| 43 | +- [ ] Unit tests pass |
| 44 | +- [ ] Integration tests pass |
| 45 | +- [ ] Manual testing completed |
| 46 | +- [ ] Complexity analysis on self passes |
| 47 | + |
| 48 | +### Test Commands |
| 49 | +```bash |
| 50 | +# Commands used to test this change |
| 51 | +swift test |
| 52 | +swift run swift-complexity Sources --threshold 15 |
| 53 | +``` |
| 54 | + |
| 55 | +## Complexity Analysis |
| 56 | + |
| 57 | +### Self-Analysis Required |
| 58 | + |
| 59 | +- [ ] Complexity analysis run on changed files |
| 60 | +- [ ] No functions exceed threshold (15) |
| 61 | +- [ ] New complex code is justified and documented |
| 62 | + |
| 63 | +Run swift-complexity on your changes: |
| 64 | +```bash |
| 65 | +# Analyze changed files for complexity |
| 66 | +swift run swift-complexity [changed-files] --threshold 15 --format text |
| 67 | + |
| 68 | +# For comprehensive analysis |
| 69 | +swift run swift-complexity Sources --threshold 15 --recursive --format json |
| 70 | +``` |
| 71 | + |
| 72 | +**Results**: (paste results here or indicate no high-complexity functions added) |
| 73 | + |
| 74 | +**Justification for complex functions**: (if any functions exceed threshold) |
| 75 | + |
| 76 | +## Cross-Platform Compatibility |
| 77 | + |
| 78 | +### Platform Testing |
| 79 | + |
| 80 | +- [ ] Changes tested on macOS (Apple Silicon) |
| 81 | +- [ ] Changes tested on macOS (Intel) |
| 82 | +- [ ] Changes tested on Linux (Ubuntu 22.04+) |
| 83 | +- [ ] Platform-specific code properly conditionally compiled |
| 84 | + |
| 85 | +### Platform Considerations |
| 86 | + |
| 87 | +- [ ] No platform-specific dependencies added |
| 88 | +- [ ] Linux compatibility maintained |
| 89 | +- [ ] macOS-specific features properly isolated (e.g., swift-format) |
| 90 | + |
| 91 | +## Performance Impact |
| 92 | + |
| 93 | +- [ ] No performance impact |
| 94 | +- [ ] Performance improved |
| 95 | +- [ ] Performance regression (with justification) |
| 96 | + |
| 97 | +**Details**: (if applicable) |
| 98 | + |
| 99 | +## Breaking Changes |
| 100 | + |
| 101 | +- [ ] No breaking changes |
| 102 | +- [ ] Breaking changes (describe below) |
| 103 | + |
| 104 | +**Breaking Changes Description**: (if applicable) |
| 105 | + |
| 106 | +## Screenshots/Output |
| 107 | + |
| 108 | +(If applicable, add screenshots or example output) |
| 109 | + |
| 110 | +## Checklist |
| 111 | + |
| 112 | +### Code Quality |
| 113 | +- [ ] Code follows the project's style guidelines |
| 114 | +- [ ] Self-review of code completed |
| 115 | +- [ ] Code is self-documenting with clear variable/function names |
| 116 | +- [ ] Complex logic is commented where necessary |
| 117 | + |
| 118 | +### Testing |
| 119 | +- [ ] Tests added for new functionality |
| 120 | +- [ ] Existing tests updated as needed |
| 121 | +- [ ] All tests pass locally |
| 122 | +- [ ] Edge cases considered and tested |
| 123 | + |
| 124 | +### Documentation |
| 125 | +- [ ] Documentation updated (if needed) |
| 126 | +- [ ] README updated (if needed) |
| 127 | +- [ ] CLAUDE.md updated (if architecture changes) |
| 128 | +- [ ] API documentation updated (if applicable) |
| 129 | + |
| 130 | +### Dependencies |
| 131 | + |
| 132 | +- [ ] No new dependencies added |
| 133 | +- [ ] New dependencies justified and documented |
| 134 | +- [ ] Package.swift updated appropriately |
| 135 | +- [ ] Cross-platform compatibility verified for new dependencies |
| 136 | + |
| 137 | +### CI/CD |
| 138 | + |
| 139 | +- [ ] CI pipeline passes (macOS & Linux) |
| 140 | +- [ ] No new linting warnings introduced |
| 141 | +- [ ] Code formatting validation passes (swift-format on macOS) |
| 142 | +- [ ] Documentation linting passes (markdownlint) |
| 143 | +- [ ] Self-complexity analysis in CI passes |
| 144 | +- [ ] Release workflow compatibility maintained (if applicable) |
| 145 | + |
| 146 | +## Additional Notes |
| 147 | + |
| 148 | +(Any additional information that reviewers should know) |
| 149 | + |
| 150 | +--- |
| 151 | + |
| 152 | +## For Reviewers |
| 153 | + |
| 154 | +### Review Checklist |
| 155 | + |
| 156 | +- [ ] **Complexity Analysis**: Results are reasonable and justified |
| 157 | +- [ ] **Cross-Platform**: Changes work on both macOS and Linux |
| 158 | +- [ ] **Test Coverage**: Adequate test coverage for new functionality |
| 159 | +- [ ] **Documentation**: Updated appropriately for changes |
| 160 | +- [ ] **CI/CD**: All automated checks pass |
| 161 | +- [ ] **Architecture**: Changes align with project goals and patterns |
| 162 | +- [ ] **Performance**: No unexpected performance regressions |
| 163 | +- [ ] **Dependencies**: New dependencies are justified and secure |
| 164 | + |
| 165 | +### Key Areas to Focus On |
| 166 | + |
| 167 | +1. **Code Quality**: Maintainable, readable, and follows project conventions |
| 168 | +2. **Platform Compatibility**: Proper handling of macOS/Linux differences |
| 169 | +3. **Complexity Management**: New code doesn't unnecessarily increase complexity |
| 170 | +4. **Test Quality**: Tests are comprehensive and meaningful |
| 171 | +5. **Documentation**: Changes are properly documented for users and developers |
0 commit comments