diff --git a/.github/DISCUSSION_TEMPLATE.md b/.github/DISCUSSION_TEMPLATE.md new file mode 100644 index 000000000..4c1367265 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE.md @@ -0,0 +1,76 @@ +# Nuclei Discussion Guidelines + +## Before Creating a Discussion + +1. **Search existing discussions and issues** to avoid duplicates +2. **Check the documentation** and README first +3. **Browse the FAQ** and common questions + +## Bug Reports in Discussions + +When reporting a bug in [Q&A Discussions](https://github.com/projectdiscovery/nuclei/discussions/categories/q-a), please include: + +### Required Information: +- **Clear title** with `[BUG]` prefix (e.g., "[BUG] Nuclei crashes when...") +- **Current behavior** - What's happening now? +- **Expected behavior** - What should happen instead? +- **Steps to reproduce** - Commands or actions that trigger the issue +- **Environment details**: + - OS and version + - Nuclei version (`nuclei -version`) + - Go version (if installed via `go install`) +- **Log output** - Run with `-verbose` or `-debug` for detailed logs +- **Redact sensitive information** - Remove target URLs, credentials, etc. + +### After Discussion: +- Maintainers will review and validate the bug report +- Valid bugs will be converted to issues with proper labels and tracking +- Questions and misconfigurations will be resolved in the discussion + +## Feature Requests in Discussions + +When requesting a feature in [Ideas Discussions](https://github.com/projectdiscovery/nuclei/discussions/categories/ideas), please include: + +### Required Information: +- **Clear title** with `[FEATURE]` prefix (e.g., "[FEATURE] Add support for...") +- **Feature description** - What do you want to be added? +- **Use case** - Why is this feature needed? What problem does it solve? +- **Implementation ideas** - If you have suggestions on how it could work +- **Alternatives considered** - What other solutions have you thought about? + +### After Discussion: +- Community and maintainers will discuss the feasibility +- Popular and viable features will be converted to issues +- Similar features may be grouped together +- Rejected features will be explained in the discussion + +## Getting Help + +For general questions, troubleshooting, and "how-to" topics: +- Use [Q&A Discussions](https://github.com/projectdiscovery/nuclei/discussions/categories/q-a) +- Join the [Discord server](https://discord.gg/projectdiscovery) #nuclei channel +- Check existing discussions for similar questions + +## Discussion to Issue Conversion Process + +Only maintainers can convert discussions to issues. The process: + +1. **Validation** - Maintainers review the discussion for completeness and validity +2. **Classification** - Determine if it's a bug, feature, enhancement, etc. +3. **Issue creation** - Create a properly formatted issue with appropriate labels +4. **Linking** - Link the issue back to the original discussion +5. **Resolution** - Mark the discussion as resolved or close it + +This process ensures: +- High-quality issues that are actionable +- Proper triage and labeling +- Reduced noise in the issue tracker +- Community involvement in the validation process + +## Why This Process? + +- **Better organization** - Issues contain only validated, actionable items +- **Community input** - Discussions allow for community feedback before escalation +- **Quality control** - Maintainers ensure proper formatting and information +- **Reduced maintenance** - Fewer invalid or duplicate issues to manage +- **Clear separation** - Questions vs. actual bugs/features are clearly distinguished diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index d849b1032..01b0a8e4e 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,14 +2,22 @@ blank_issues_enabled: false contact_links: - - name: Ask an question / advise on using nuclei + - name: 🐛 Report a Bug (Start with Discussion) url: https://github.com/projectdiscovery/nuclei/discussions/categories/q-a - about: Ask a question or request support for using nuclei + about: Start by reporting your issue in discussions for proper triage. Issues will be created after review to avoid duplicate/invalid reports. - - name: Share idea / feature to discuss for nuclei + - name: 💡 Request a Feature (Start with Discussion) url: https://github.com/projectdiscovery/nuclei/discussions/categories/ideas - about: Share idea / feature to discuss for nuclei + about: Share your feature idea in discussions first. This helps validate and refine the request before creating an issue. - - name: Connect with PD Team (Discord) + - name: ❓ Ask Questions / Get Help + url: https://github.com/projectdiscovery/nuclei/discussions/categories/q-a + about: Get help and ask questions about using Nuclei. Many questions don't require issues. + + - name: 🔍 Browse Existing Issues + url: https://github.com/projectdiscovery/nuclei/issues + about: Check existing issues to see if your problem has already been reported or is being worked on. + + - name: 💬 Connect with PD Team (Discord) url: https://discord.gg/projectdiscovery - about: Connect with PD Team for direct communication \ No newline at end of file + about: Join our Discord for real-time discussions and community support on the #nuclei channel. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/reference-templates/README.md b/.github/ISSUE_TEMPLATE/reference-templates/README.md new file mode 100644 index 000000000..c170ea1c7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/reference-templates/README.md @@ -0,0 +1,45 @@ +# Issue Template References + +## Overview + +This folder contains the preserved issue templates that are **not** directly accessible to users. These templates serve as references for maintainers when converting discussions to issues. + +## New Workflow + +### For Users: +1. **All reports start in Discussions** - Users cannot create issues directly +2. Bug reports go to [Q&A Discussions](https://github.com/projectdiscovery/nuclei/discussions/categories/q-a) +3. Feature requests go to [Ideas Discussions](https://github.com/projectdiscovery/nuclei/discussions/categories/ideas) +4. This helps filter out duplicate questions, invalid reports, and ensures proper triage + +### For Maintainers: +1. **Review discussions** in both Q&A and Ideas categories +2. **Validate the reports** - ensure they're actual bugs/valid feature requests +3. **Use reference templates** when converting discussions to issues: + - Copy content from `bug-report-reference.yml` or `feature-request-reference.yml` + - Create a new issue manually with the appropriate template structure + - Link back to the original discussion + - Close the discussion or mark it as resolved + +## Benefits + +- **Better triage**: Avoid cluttering issues with questions and invalid reports +- **Community involvement**: Discussions allow for community input before creating issues +- **Quality control**: Maintainers can ensure issues follow proper format and contain necessary information +- **Reduced noise**: Only validated, actionable items become issues + +## Reference Templates + +- `bug-report-reference.yml` - Use when converting bug reports from discussions to issues +- `feature-request-reference.yml` - Use when converting feature requests from discussions to issues + +## Converting a Discussion to Issue + +1. Identify a valid discussion that needs to become an issue +2. Go to the main repository's Issues tab +3. Click "New Issue" +4. Manually create the issue using the reference template structure +5. Include all relevant information from the discussion +6. Add a comment linking back to the original discussion +7. Apply appropriate labels +8. Close or mark the discussion as resolved with a link to the created issue diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/reference-templates/bug-report-reference.yml similarity index 100% rename from .github/ISSUE_TEMPLATE/bug-report.yml rename to .github/ISSUE_TEMPLATE/reference-templates/bug-report-reference.yml diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/reference-templates/feature-request-reference.yml similarity index 100% rename from .github/ISSUE_TEMPLATE/feature-request.yml rename to .github/ISSUE_TEMPLATE/reference-templates/feature-request-reference.yml