Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Included additional temmplates Add structured issue templates for bug reports, feature requests, and questions #157

Merged
merged 1 commit into from
Nov 26, 2024

Conversation

naveensrinivasan
Copy link
Member

@naveensrinivasan naveensrinivasan commented Nov 26, 2024

Summary by CodeRabbit

  • New Features

    • Introduced a structured bug report template to streamline issue reporting.
    • Added templates for feature requests and questions, enhancing user interaction.
  • Bug Fixes

    • Disabled blank issue submissions to ensure comprehensive reporting.
  • Documentation

    • Updated feature request and question templates for clarity and improved usability.

Signed-off-by: naveensrinivasan <[email protected]>
Copy link
Contributor

coderabbitai bot commented Nov 26, 2024

Walkthrough

The pull request introduces several structured issue templates for a GitHub repository, including a bug report, feature request, and question template. Each template is designed with specific fields to guide users in providing detailed information, ensuring that necessary data is collected for effective issue resolution. The configuration file is updated to disable blank issues and categorize the templates appropriately.

Changes

File Change Summary
.github/ISSUE_TEMPLATE/bug_report.md Added a new bug report template with structured fields for bug description, expected behavior, steps to reproduce, environment, relevant logs, and additional context.
.github/ISSUE_TEMPLATE/config.yml Updated configuration to disable blank issues and added a template chooser for bug report, feature request, and question templates.
.github/ISSUE_TEMPLATE/feature_request.md Modified the feature request template to a structured YAML format with organized sections for summary, motivation, use cases, technical details, challenges, alternatives, and additional context.
.github/ISSUE_TEMPLATE/question.md Introduced a new question template with sections for a welcoming message, question details, context, research, and environment information.

Possibly related PRs

  • Feature request template #156: The feature request template is related as it also involves changes to the .github/ISSUE_TEMPLATE directory, specifically introducing a structured format for user submissions, similar to the bug report template in the main PR.

Poem

🐇 In the garden of code, we now have a way,
To report all the bugs that come out to play.
With templates so neat, and fields all aligned,
Our issues will flourish, no detail left behind!
So hop on, dear friends, let’s document right,
With clarity shining, our future is bright! 🌟


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@coderabbitai coderabbitai bot changed the title Included additional temmplates @coderabbitai Included additional temmplates Add structured issue templates for bug reports, feature requests, and questions Nov 26, 2024
@naveensrinivasan naveensrinivasan enabled auto-merge (squash) November 26, 2024 13:51
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (8)
.github/ISSUE_TEMPLATE/config.yml (2)

8-8: Fix YAML formatting issues.

There are some minor formatting issues to address:

  • Remove trailing spaces on lines 8 and 13
  • Add a newline at the end of the file

Apply this diff to fix the formatting:

    - name: 🐛 Bug Report
      filename: bug_report.md
      description: Report a reproducible bug or issue
-      labels: ["bug", "triage"]
-    
-    - name: 💡 Feature Request
+      labels: ["bug", "triage"]
+
+    - name: 💡 Feature Request
      filename: feature_request.md
      description: Suggest a new feature or enhancement
-      labels: ["enhancement", "triage"]
-    
-    - name: ❓ Question
+      labels: ["enhancement", "triage"]
+
+    - name: ❓ Question
      filename: question.md
      description: Ask a question about this project
-      labels: ["question"]
\ No newline at end of file
+      labels: ["question"]
+

Also applies to: 13-13, 17-17

🧰 Tools
🪛 yamllint (1.35.1)

[error] 8-8: trailing spaces

(trailing-spaces)


1-17: Fix typo in PR title.

The PR title contains a typo: "temmplates" should be "templates"

🧰 Tools
🪛 yamllint (1.35.1)

[error] 8-8: trailing spaces

(trailing-spaces)


[error] 13-13: trailing spaces

(trailing-spaces)


[error] 17-17: no new line character at the end of file

(new-line-at-end-of-file)

.github/ISSUE_TEMPLATE/question.md (2)

6-13: Consider adding direct links to resources.

The introduction effectively guides users to check existing resources. However, it would be more helpful to include direct links to the documentation, issues, and discussions.

       value: |
         Thanks for your interest in this project! Before asking your question, please:
-        - Check the documentation
-        - Search existing issues
-        - Check if your question has already been answered in discussions
+        - Check the [documentation](../../../docs)
+        - Search [existing issues](../../../issues?q=is%3Aissue)
+        - Check if your question has already been answered in [discussions](../../../discussions)
🧰 Tools
🪛 Markdownlint (0.35.0)

6-6: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


44-54: Consider customizing environment details for CodeRabbit.

The environment template could be more specific to CodeRabbit's context. Consider adjusting the pre-filled values to match the project's requirements.

       value: |
         - OS: [e.g., Ubuntu 22.04]
-        - Go Version: [e.g., 1.23]
-        - Project Version: [e.g., v1.0.0]
+        - CodeRabbit Version: [e.g., v1.0.0]
+        - Integration Type: [e.g., GitHub App, GitHub Action]
+        - Repository Type: [e.g., Private, Public]
🧰 Tools
🪛 Markdownlint (0.35.0)

44-44: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)

.github/ISSUE_TEMPLATE/feature_request.md (4)

1-4: LGTM! Well-structured template metadata.

The metadata section is well-organized with appropriate labels and title prefix for feature requests.

Note: There's a typo in the PR title ("temmplates" → "templates"), but this doesn't affect the template itself.


20-36: Consider converting HTML comments to placeholder text.

The motivation section structure is excellent, but the HTML comments could be converted to actual placeholder text for better visibility and consistency with other sections.

   value: |
     **Problem**: 
-    <!-- What problem does this solve? -->
+    What problem does this solve?

     **Impact**: 
-    <!-- Who will benefit from this feature? -->
+    Who will benefit from this feature?

     **Context**: 
-    <!-- How does this relate to existing features? -->
+    How does this relate to existing features?
🧰 Tools
🪛 Markdownlint (0.35.0)

20-20: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


48-61: Add guidance placeholders for technical details.

The technical details section would benefit from placeholder text to help users provide more specific information.

   value: |
     **Scope**: 
+    What components or areas of the codebase will this affect?
     
     **Dependencies**:
+    List any new dependencies or changes to existing ones.
     
     **Implementation ideas**:
+    Share any initial thoughts on how this could be implemented.
🧰 Tools
🪛 Markdownlint (0.35.0)

48-48: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


73-88: Make alternatives section more flexible.

The current structure assumes exactly two alternatives. Consider making it more flexible to accommodate varying numbers of alternatives.

   value: |
-    1. Alternative A
+    ### Alternative 1
     - Pros:
     - Cons:
     
-    2. Alternative B
-       - Pros:
-       - Cons:
+    <!-- Add more alternatives as needed using the same format -->
🧰 Tools
🪛 Markdownlint (0.35.0)

73-73: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 053303a and 81638f0.

📒 Files selected for processing (4)
  • .github/ISSUE_TEMPLATE/bug_report.md (1 hunks)
  • .github/ISSUE_TEMPLATE/config.yml (1 hunks)
  • .github/ISSUE_TEMPLATE/feature_request.md (1 hunks)
  • .github/ISSUE_TEMPLATE/question.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
.github/ISSUE_TEMPLATE/bug_report.md

[duplication] ~14-~14: Possible typo: you repeated a word
Context: ...iption attributes: label: Bug Description description: What happened? placeholder: A cl...

(ENGLISH_WORD_REPEAT_RULE)

.github/ISSUE_TEMPLATE/feature_request.md

[grammar] ~16-~16: The word ‘placeholder’ is not correct in this context. Consider using the plural form, adding a determiner like ‘the’ or ‘a’, or adding a preposition like ‘at’ or ‘in’.
Context: ... of the feature you're requesting placeholder: Briefly describe your feature request ...

(BE_VBG_NN)

🪛 Markdownlint (0.35.0)
.github/ISSUE_TEMPLATE/bug_report.md

6-6: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


11-11: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


20-20: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


29-29: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


42-42: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


54-54: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


63-63: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)

.github/ISSUE_TEMPLATE/feature_request.md

6-6: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


11-11: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


20-20: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


37-37: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


48-48: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


62-62: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


73-73: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


89-89: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)

.github/ISSUE_TEMPLATE/question.md

6-6: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


14-14: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


23-23: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


32-32: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


44-44: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)

🪛 yamllint (1.35.1)
.github/ISSUE_TEMPLATE/config.yml

[error] 8-8: trailing spaces

(trailing-spaces)


[error] 13-13: trailing spaces

(trailing-spaces)


[error] 17-17: no new line character at the end of file

(new-line-at-end-of-file)

🔇 Additional comments (14)
.github/ISSUE_TEMPLATE/config.yml (4)

1-3: LGTM! Good practice to enforce structured issue reporting.

Disabling blank issues and setting up a template chooser helps maintain consistency and ensures all necessary information is collected.


9-12: Verify the existence of feature_request.md template file.

The configuration looks good, but let's ensure the referenced template file exists.

✅ Verification successful

Feature request template configuration is properly set up

The verification confirms that:

  • The referenced feature_request.md template file exists in the correct location
  • The template contains all essential sections: Summary, Motivation, Use Cases, and Technical Details
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the existence of the feature request template file
# and check its content structure

if [ -f ".github/ISSUE_TEMPLATE/feature_request.md" ]; then
    echo "Feature request template exists"
    # Check for expected sections in the template
    rg -i "summary|motivation|use cases|technical details" .github/ISSUE_TEMPLATE/feature_request.md
else
    echo "Error: feature_request.md template is missing"
fi

Length of output: 360


4-7: Verify the existence of bug_report.md template file.

The configuration looks good, but let's ensure the referenced template file exists.

✅ Verification successful

Bug report template configuration is properly set up

The verification confirms that:

  • The referenced bug_report.md template file exists
  • The template includes all essential sections for bug reporting:
    • Bug Description
    • Expected Behavior
    • Steps to Reproduce
    • Environment details
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the existence of the bug report template file
# and check its content structure

if [ -f ".github/ISSUE_TEMPLATE/bug_report.md" ]; then
    echo "Bug report template exists"
    # Check for expected sections in the template
    rg -i "bug description|expected behavior|steps to reproduce|environment" .github/ISSUE_TEMPLATE/bug_report.md
else
    echo "Error: bug_report.md template is missing"
fi

Length of output: 473


14-17: Verify the existence of question.md template file.

The configuration looks good, but let's ensure the referenced template file exists.

✅ Verification successful

Template file exists and contains all expected sections

The verification confirms that .github/ISSUE_TEMPLATE/question.md exists and contains all the necessary sections including title, labels, question, context, research, and environment fields. The template structure aligns well with the configuration in config.yml.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the existence of the question template file
# and check its content structure

if [ -f ".github/ISSUE_TEMPLATE/question.md" ]; then
    echo "Question template exists"
    # Check for expected sections in the template
    rg -i "question|context|research|environment" .github/ISSUE_TEMPLATE/question.md
else
    echo "Error: question.md template is missing"
fi

Length of output: 806

🧰 Tools
🪛 yamllint (1.35.1)

[error] 17-17: no new line character at the end of file

(new-line-at-end-of-file)

.github/ISSUE_TEMPLATE/question.md (5)

1-4: LGTM! Well-structured template metadata.

The metadata follows GitHub's issue template conventions with appropriate naming and labeling.


14-22: LGTM! Well-structured question field.

The question field is properly configured as a required field with clear guidance for users.

🧰 Tools
🪛 Markdownlint (0.35.0)

14-14: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


23-31: LGTM! Excellent context requirements.

Making the context field mandatory will help reduce back-and-forth communication and enable more accurate answers.

🧰 Tools
🪛 Markdownlint (0.35.0)

23-23: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


32-43: LGTM! Well-designed research section.

The optional research field with structured placeholder encourages users to share their investigation efforts.

🧰 Tools
🪛 Markdownlint (0.35.0)

32-32: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


1-54: Regarding Markdownlint warnings: LGTM!

The indentation follows GitHub's issue template requirements and should be maintained as is, despite the linter warnings.

🧰 Tools
🪛 Markdownlint (0.35.0)

6-6: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


14-14: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


23-23: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


32-32: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


44-44: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)

.github/ISSUE_TEMPLATE/bug_report.md (4)

1-4: LGTM! Well-structured template metadata

The metadata is properly configured with appropriate labels and title format.


5-10: LGTM! Clear and welcoming introduction

The welcome message sets a positive tone for bug reporters.

🧰 Tools
🪛 Markdownlint (0.35.0)

6-6: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


11-69: LGTM! Well-structured form fields

The template has a comprehensive set of fields with:

  • Clear labels and descriptions
  • Appropriate required/optional validations
  • Proper rendering hints for logs
  • Good balance of structured and free-form fields
🧰 Tools
🪛 LanguageTool

[duplication] ~14-~14: Possible typo: you repeated a word
Context: ...iption attributes: label: Bug Description description: What happened? placeholder: A cl...

(ENGLISH_WORD_REPEAT_RULE)

🪛 Markdownlint (0.35.0)

11-11: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


20-20: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


29-29: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


42-42: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


54-54: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


63-63: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


42-52: 🛠️ Refactor suggestion

Verify environment field requirements

The environment section currently assumes Go-specific details. Since this is for the CodeRabbit project, consider adjusting the environment examples to match the actual tech stack in use.

Consider updating the environment section to be more generic or specific to your tech stack:

   value: |
-    - OS: [e.g., Ubuntu 22.04]
-    - Go Version: [e.g., 1.23]
-    - Project Version/Commit: [e.g., v1.0.0 or commit hash]
+    - OS: [e.g., Ubuntu 22.04, Windows 11, macOS 13]
+    - Browser/Runtime: [e.g., Chrome 119, Node.js 20]
+    - CodeRabbit Version: [e.g., v1.0.0]
✅ Verification successful

Environment section should reflect Go-based tech stack

The environment section is actually correct as this is indeed a Go project, evidenced by:

  • Dockerfile using Go base image and building Go code
  • Makefile with Go-specific commands (go build, go test, go mod tidy)
  • Presence of main.go, go.mod, and go.sum

The current environment template requesting Go version is appropriate for this codebase.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the project uses Go or different technologies
rg -l 'go.mod|package.json|requirements.txt|Gemfile' 

Length of output: 1118


Script:

#!/bin/bash
# Let's check the actual tech stack by examining key files
echo "=== Checking Dockerfile ==="
cat Dockerfile

echo -e "\n=== Checking Makefile ==="
cat Makefile

echo -e "\n=== Checking for main.go ==="
fd -e go main.go

echo -e "\n=== Checking for package.json ==="
fd package.json

Length of output: 1728

🧰 Tools
🪛 Markdownlint (0.35.0)

42-42: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)

.github/ISSUE_TEMPLATE/feature_request.md (1)

1-95: LGTM! Well-structured and comprehensive template.

The template provides an excellent framework for gathering detailed feature requests with:

  • Clear sections for all necessary information
  • Appropriate required/optional field validation
  • Good balance between structure and flexibility

Note: The Markdownlint indentation warnings can be safely ignored as they're false positives - the indentation is correct for YAML format.

🧰 Tools
🪛 LanguageTool

[grammar] ~16-~16: The word ‘placeholder’ is not correct in this context. Consider using the plural form, adding a determiner like ‘the’ or ‘a’, or adding a preposition like ‘at’ or ‘in’.
Context: ... of the feature you're requesting placeholder: Briefly describe your feature request ...

(BE_VBG_NN)

🪛 Markdownlint (0.35.0)

6-6: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


11-11: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


20-20: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


37-37: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


48-48: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


62-62: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


73-73: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


89-89: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)

@naveensrinivasan naveensrinivasan merged commit 3124105 into main Nov 26, 2024
13 of 14 checks passed
@naveensrinivasan naveensrinivasan deleted the naveen/templates branch November 26, 2024 13:53
Copy link

codecov bot commented Nov 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant