|
| 1 | +# Maintainer Guide: Discussion-First Issue Management |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +Katana now uses a **discussion-first approach** for issue management to improve triage quality and reduce noise from questions being filed as bugs. |
| 6 | + |
| 7 | +## How It Works |
| 8 | + |
| 9 | +### 1. **All Reports Start as Discussions** |
| 10 | +- Users cannot create issues directly |
| 11 | +- All bug reports → **Q&A Discussions** |
| 12 | +- All feature requests → **Ideas Discussions** |
| 13 | +- All questions → **Q&A Discussions** |
| 14 | + |
| 15 | +### 2. **Automated Triage Helper** |
| 16 | +- Auto-responds to discussions with helpful guidance |
| 17 | +- Auto-flags potential bugs with keywords detection |
| 18 | +- Provides checklists for proper bug reporting |
| 19 | + |
| 20 | +### 3. **Maintainer Conversion Process** |
| 21 | +- Review discussions for completeness |
| 22 | +- Convert valid issues using GitHub's built-in feature |
| 23 | +- Apply appropriate labels during conversion |
| 24 | + |
| 25 | +## Conversion Guidelines |
| 26 | + |
| 27 | +### 🐛 **Bug Reports** → Convert to Issue When: |
| 28 | + |
| 29 | +**Well-Defined Problems:** |
| 30 | +- Clear reproduction steps provided |
| 31 | +- Katana version specified |
| 32 | +- Expected vs actual behavior described |
| 33 | +- Environment details included |
| 34 | +- Error messages/logs included |
| 35 | + |
| 36 | +**Confirmed Bugs:** |
| 37 | +- Issue reproduced by maintainer or community |
| 38 | +- Not a configuration/usage question |
| 39 | +- Not working as designed |
| 40 | + |
| 41 | +**Keep as Discussion:** |
| 42 | +- Incomplete information |
| 43 | +- Usage questions ("How do I...?") |
| 44 | +- Configuration problems |
| 45 | +- Working as intended |
| 46 | + |
| 47 | +### 💡 **Feature Requests** → Convert to Issue When: |
| 48 | + |
| 49 | +**Solid Proposals:** |
| 50 | +- Clear use case defined |
| 51 | +- Benefits to community explained |
| 52 | +- Implementation approach considered |
| 53 | +- Not easily achievable with existing features |
| 54 | + |
| 55 | +**Community Support:** |
| 56 | +- Multiple users expressing interest |
| 57 | +- Maintainer approval for implementation |
| 58 | +- Fits project roadmap |
| 59 | + |
| 60 | +**Keep as Discussion:** |
| 61 | +- Vague ideas needing refinement |
| 62 | +- Better suited as external tools/plugins |
| 63 | +- Conflicts with project goals |
| 64 | +- Needs more community input |
| 65 | + |
| 66 | +## Conversion Process |
| 67 | + |
| 68 | +### Using GitHub's Convert Feature: |
| 69 | + |
| 70 | +1. **Open the discussion** |
| 71 | +2. **Click the "⋯" menu** (top right) |
| 72 | +3. **Select "Convert to issue"** |
| 73 | +4. **Choose repository** (same repo) |
| 74 | +5. **Review title/body** - edit if needed |
| 75 | +6. **Add labels:** |
| 76 | + - `Type: Bug` for confirmed bugs |
| 77 | + - `Type: Enhancement` for approved features |
| 78 | + - `Priority: High/Medium/Low` as appropriate |
| 79 | + - `Component: Engine/Parser/Output` etc. |
| 80 | + |
| 81 | +### Template for Converted Issues: |
| 82 | + |
| 83 | +When converting, consider adding this note: |
| 84 | + |
| 85 | +```markdown |
| 86 | +**Converted from Discussion:** #[discussion_number] |
| 87 | + |
| 88 | +<!-- Original discussion provided community input and initial triage --> |
| 89 | + |
| 90 | +[Original discussion content here] |
| 91 | + |
| 92 | +--- |
| 93 | + |
| 94 | +**Maintainer Notes:** |
| 95 | +- [ ] Issue confirmed through discussion |
| 96 | +- [ ] Reproduction steps verified |
| 97 | +- [ ] Ready for implementation/investigation |
| 98 | +``` |
| 99 | + |
| 100 | +## Workflow Benefits |
| 101 | + |
| 102 | +### **For Project Health:** |
| 103 | +- **Cleaner issue tracker** - Only actionable items |
| 104 | +- **Better metrics** - Issues vs discussions clearly separated |
| 105 | +- **Faster resolution** - Less time sorting questions from bugs |
| 106 | + |
| 107 | +### **For Community:** |
| 108 | +- **Inclusive discussions** - Everyone can participate in triage |
| 109 | +- **Better help** - Community can answer questions quickly |
| 110 | +- **Learning opportunity** - Users see resolution process |
| 111 | + |
| 112 | +### **For Maintainers:** |
| 113 | +- **Pre-filtered issues** - Only valid bugs/features reach issue tracker |
| 114 | +- **Rich context** - Discussion history provides background |
| 115 | +- **Community input** - Others help validate before conversion |
| 116 | + |
| 117 | +## Examples |
| 118 | + |
| 119 | +### **Good Bug Discussion → Issue Conversion** |
| 120 | + |
| 121 | +**Discussion Title:** "Katana crashes when using -hl with custom headers" |
| 122 | + |
| 123 | +**Discussion Body:** |
| 124 | +- Katana version: v1.2.1 |
| 125 | +- Command: `katana -u example.com -hl -H "Custom: value"` |
| 126 | +- Error: panic in hybrid engine |
| 127 | +- Platform: macOS 14.1 |
| 128 | +- Reproduction: consistent crash |
| 129 | + |
| 130 | +**→ Convert to Issue:** Clear bug with reproduction steps |
| 131 | + |
| 132 | +### **Question → Keep as Discussion** |
| 133 | + |
| 134 | +**Discussion Title:** "How to crawl only PDF files?" |
| 135 | + |
| 136 | +**Discussion Body:** |
| 137 | +- New user question |
| 138 | +- Asking for usage help |
| 139 | +- Not a bug or feature request |
| 140 | + |
| 141 | +**→ Keep as Discussion:** Usage question, answer in discussion |
| 142 | + |
| 143 | +### **Needs More Info → Keep as Discussion** |
| 144 | + |
| 145 | +**Discussion Title:** "Katana doesn't work" |
| 146 | + |
| 147 | +**Discussion Body:** |
| 148 | +- Vague description |
| 149 | +- No version, command, or error details |
| 150 | +- No reproduction steps |
| 151 | + |
| 152 | +**→ Keep as Discussion:** Request more information first |
| 153 | + |
| 154 | +## Quick Reference |
| 155 | + |
| 156 | +| Type | Action | Labels for Conversion | |
| 157 | +|------|---------|-------------------| |
| 158 | +| **Confirmed Bug** | Convert → Issue | `Type: Bug`, `Priority: [level]` | |
| 159 | +| **Approved Feature** | Convert → Issue | `Type: Enhancement`, `Priority: [level]` | |
| 160 | +| **Usage Question** | Keep → Discussion | N/A | |
| 161 | +| **Needs Info** | Keep → Discussion | N/A | |
| 162 | +| **Security Issue** | Email → security@projectdiscovery.io | N/A | |
| 163 | + |
| 164 | +This workflow ensures high-quality issues while maintaining an inclusive, helpful community environment! |
0 commit comments