diff --git a/.github/ISSUE_TEMPLATE/README.md b/.github/ISSUE_TEMPLATE/README.md new file mode 100644 index 0000000..1c8075b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/README.md @@ -0,0 +1,99 @@ +# Issue Templates + +This repository uses modern GitHub Issue Forms (YAML-based templates) to ensure structured and comprehensive issue reporting. These templates help maintainers and contributors by standardizing the information collection process. + +## Available Templates + +### 🐛 Bug Report (`bug_report.yml`) +Use this template to report bugs, errors, or unexpected behavior. + +**Features:** +- Required prerequisite checks +- Structured bug description +- Step-by-step reproduction guide +- Environment information collection +- Support for screenshots and logs +- Dropdown menus for OS and browser selection + +### ✨ Feature Request (`feature_request.yml`) +Use this template to suggest new features or enhancements. + +**Features:** +- Required prerequisite checks +- Clear problem/use case definition +- Feature type categorization +- Priority level selection +- Implementation ideas collection +- Contribution willingness tracking +- Support for mockups and examples + +### ❓ Question or Discussion (`question.yml`) +Use this template for general questions, usage help, or discussions. + +**Features:** +- Question type categorization +- Context collection +- Search requirement verification + +## Configuration + +The `config.yml` file customizes the issue template selection page: +- Disables blank issues to encourage using structured templates +- Provides quick links to documentation and discussions +- Enhances the user experience when creating issues + +## Benefits of YAML Issue Forms + +1. **Structured Data**: Forms ensure consistent information collection +2. **Required Fields**: Critical information can be marked as mandatory +3. **Validation**: Input validation prevents incomplete submissions +4. **User-Friendly**: Dropdowns, checkboxes, and text areas improve UX +5. **Maintainer Efficiency**: Standardized format makes issues easier to process +6. **Better Analytics**: Structured data enables better issue categorization + +## Migration from Markdown Templates + +The previous Markdown-based templates have been converted to YAML forms with the following improvements: + +- **Bug Reports**: Added OS/browser dropdowns, required field validation, and better structure +- **Feature Requests**: Added feature type categorization, priority levels, and contribution tracking +- **New Template**: Added question/discussion template for general inquiries + +## Usage Guidelines + +### For Contributors +1. Select the appropriate template when creating an issue +2. Fill out all required fields (marked with red asterisks) +3. Provide as much detail as possible for faster resolution +4. Use the checkboxes to confirm you've followed prerequisites + +### For Maintainers +- Review the structured data in each issue +- Use labels automatically applied by templates +- Reference the consistent format when requesting additional information +- Leverage the standardized categories for project analytics + +## Customization + +To modify these templates: + +1. Edit the respective `.yml` files in `.github/ISSUE_TEMPLATE/` +2. Follow the [GitHub Issue Forms syntax](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms) +3. Test changes in a development repository before applying to main +4. Update this README when adding new templates or significant changes + +## Template Syntax Reference + +Each YAML template includes: +- `name`: Display name for the template +- `description`: Brief description of when to use it +- `title`: Auto-generated title prefix +- `labels`: Automatically applied labels +- `body`: Form fields definition + +Common field types: +- `textarea`: Multi-line text input +- `input`: Single-line text input +- `dropdown`: Selection from predefined options +- `checkboxes`: Multiple selection options +- `markdown`: Static text/instructions \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 34f3b09..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -name: Bug Report -about: Report a problem or unexpected behavior -title: "[BUG]" -labels: bug -assignees: '' ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '...' -3. See error - -**Expected behavior** -What you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Environment (please complete the following information):** -- OS: [e.g. Windows, macOS, Linux] -- Browser (if applicable): [e.g. Chrome, Firefox] -- Version: [e.g. 1.0.0] - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..49316af --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,119 @@ +name: 🐛 Bug Report +description: Report a problem or unexpected behavior +title: "[BUG]: " +labels: ["bug"] +assignees: [] + +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! Please provide as much detail as possible to help us resolve the issue. + + - type: checkboxes + id: terms + attributes: + label: Prerequisites + description: Please confirm the following before submitting your bug report + options: + - label: I have searched the existing issues to make sure this bug hasn't been reported yet + required: true + - label: I have read the Contributing Guidelines + required: true + + - type: textarea + id: bug-description + attributes: + label: Bug Description + description: A clear and concise description of what the bug is + placeholder: Describe the bug you encountered... + validations: + required: true + + - type: textarea + id: reproduction-steps + attributes: + label: Steps to Reproduce + description: Steps to reproduce the behavior + placeholder: | + 1. Go to '...' + 2. Click on '...' + 3. Scroll down to '...' + 4. See error + validations: + required: true + + - type: textarea + id: expected-behavior + attributes: + label: Expected Behavior + description: A clear and concise description of what you expected to happen + placeholder: What should have happened instead? + validations: + required: true + + - type: textarea + id: actual-behavior + attributes: + label: Actual Behavior + description: What actually happened? + placeholder: What actually happened? + validations: + required: true + + - type: dropdown + id: operating-system + attributes: + label: Operating System + description: What operating system are you using? + options: + - Windows + - macOS + - Linux (Ubuntu) + - Linux (Other) + - Other + validations: + required: true + + - type: dropdown + id: browser + attributes: + label: Browser (if applicable) + description: Which browser are you using? + options: + - Chrome + - Firefox + - Safari + - Edge + - Opera + - Other + - Not applicable + + - type: input + id: version + attributes: + label: Version + description: What version of the application/bot are you using? + placeholder: e.g., 1.0.0, latest, commit hash + + - type: textarea + id: screenshots + attributes: + label: Screenshots + description: If applicable, add screenshots to help explain your problem + placeholder: You can drag and drop images here or paste them directly + + - type: textarea + id: additional-context + attributes: + label: Additional Context + description: Add any other context about the problem here + placeholder: Any additional information that might help us understand the issue + + - type: textarea + id: logs + attributes: + label: Error logs or Console Output + description: If applicable, paste any relevant error messages or console output + render: shell + placeholder: Paste error logs here... \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..42e15cc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: 📚 Documentation + url: https://github.com/santhosh-005/gssocFAQ-Bot/blob/main/Readme.md + about: Check the documentation for setup and usage instructions + - name: 💬 Discussions + url: https://github.com/santhosh-005/gssocFAQ-Bot/discussions + about: Ask questions and discuss ideas with the community \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 856e3c8..0000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -name: Feature Request -about: Suggest an idea for improvement or a new feature -title: "[FEATURE]" -labels: enhancement -assignees: '' ---- - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Problem / Use Case** -Explain the problem this feature solves or why it would be useful. - -**Alternatives considered** -List any alternative solutions or features you considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..ecfe82b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,111 @@ +name: ✨ Feature Request +description: Suggest an idea for improvement or a new feature +title: "[FEATURE]: " +labels: ["enhancement"] +assignees: [] + +body: + - type: markdown + attributes: + value: | + Thank you for suggesting a new feature! Please provide as much detail as possible to help us understand your request. + + - type: checkboxes + id: terms + attributes: + label: Prerequisites + description: Please confirm the following before submitting your feature request + options: + - label: I have searched the existing issues to make sure this feature hasn't been requested yet + required: true + - label: I have read the Contributing Guidelines + required: true + + - type: textarea + id: feature-description + attributes: + label: Feature Description + description: A clear and concise description of the feature you'd like to see implemented + placeholder: Describe the feature you want to be added... + validations: + required: true + + - type: textarea + id: problem-usecase + attributes: + label: Problem / Use Case + description: Explain the problem this feature solves or why it would be useful + placeholder: What problem does this feature solve? Why would it be useful? + validations: + required: true + + - type: dropdown + id: feature-type + attributes: + label: Feature Type + description: What type of feature is this? + options: + - New functionality + - Enhancement to existing feature + - Performance improvement + - User interface improvement + - Documentation improvement + - Other + validations: + required: true + + - type: dropdown + id: priority + attributes: + label: Priority Level + description: How important is this feature to you? + options: + - Low - Nice to have + - Medium - Would be helpful + - High - Important for my use case + - Critical - Blocking my work + + - type: textarea + id: proposed-solution + attributes: + label: Proposed Solution + description: Describe how you think this feature should work + placeholder: How should this feature work? What should the user experience be like? + + - type: textarea + id: alternatives-considered + attributes: + label: Alternatives Considered + description: List any alternative solutions or features you've considered + placeholder: What alternatives have you considered? Why is this approach better? + + - type: textarea + id: implementation-ideas + attributes: + label: Implementation Ideas (Optional) + description: If you have ideas about how to implement this feature, share them here + placeholder: Any technical implementation suggestions or code snippets + + - type: checkboxes + id: contribution + attributes: + label: Contribution + description: Are you willing to contribute to this feature? + options: + - label: I am willing to work on this feature myself + - label: I can provide additional clarification or testing + - label: I can help with documentation + + - type: textarea + id: additional-context + attributes: + label: Additional Context + description: Add any other context, mockups, or screenshots about the feature request here + placeholder: Any additional information, mockups, or examples that would help understand the feature + + - type: textarea + id: examples + attributes: + label: Examples or References + description: Provide examples of similar features in other projects or tools + placeholder: Links to similar features in other projects, tools, or websites \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/question.yml b/.github/ISSUE_TEMPLATE/question.yml new file mode 100644 index 0000000..f0d7356 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.yml @@ -0,0 +1,60 @@ +name: ❓ Question or Discussion +description: Ask a question or start a discussion +title: "[QUESTION]: " +labels: ["question"] +assignees: [] + +body: + - type: markdown + attributes: + value: | + Have a question about the project? Want to start a discussion? We're here to help! + + - type: checkboxes + id: terms + attributes: + label: Prerequisites + description: Please confirm the following before asking your question + options: + - label: I have searched the existing issues and discussions + required: true + - label: I have checked the documentation and README + required: true + + - type: dropdown + id: question-type + attributes: + label: Question Type + description: What type of question is this? + options: + - How to use a specific feature + - Understanding the codebase + - Configuration help + - Best practices + - General discussion + - Other + validations: + required: true + + - type: textarea + id: question + attributes: + label: Your Question + description: What would you like to know? + placeholder: Ask your question here... + validations: + required: true + + - type: textarea + id: context + attributes: + label: Context + description: Provide any relevant context about your question + placeholder: What are you trying to achieve? What have you tried so far? + + - type: textarea + id: additional-info + attributes: + label: Additional Information + description: Any additional information that might be helpful + placeholder: Code snippets, error messages, links, etc. \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index a55ea76..c2577bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -301,7 +301,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -319,7 +318,6 @@ "proxy-from-env": "^1.1.0" } }, - "node_modules/body-parser": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", @@ -418,7 +416,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, - "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -431,7 +428,6 @@ "node": ">= 0.8" } }, - "node_modules/content-disposition": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", @@ -691,7 +687,6 @@ "node": ">= 0.4" } }, - "node_modules/es-set-tostringtag": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", @@ -707,7 +702,6 @@ "node": ">= 0.4" } }, - "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",