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

chore: Add issue template #1835

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 108 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: Bug Report
description: Report a bug in Shiny for Python
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for reporting a bug! Please provide a **Minimal Reproducible Example** (MRE). This is the *most important* part. The easier it is for us to reproduce the bug, the faster we can fix it. Search for similar issues before submitting.

- type: dropdown
id: component
attributes:
label: Component
description: Which part of Shiny is affected?
options:
- UI (ui.*)
- Server (server.*)
- Reactive Programming
- Input/Output Bindings
- Session Management
- Deployment
- Documentation
- Installation
- Other
validations:
required: true

- type: dropdown
id: severity
attributes:
label: Severity
options:
- P0 - Critical (crash/unusable)
- P1 - High (major feature broken)
- P2 - Medium (workaround exists)
- P3 - Low (minor inconvenience)
validations:
required: true

- type: input
id: version
attributes:
label: Shiny Version
description: '`shiny --version`'
placeholder: ex. 1.2.1
validations:
required: true

- type: input
id: python-version
attributes:
label: Python Version
description: '`python --version`'
placeholder: ex. 3.10.6
validations:
required: true

- type: textarea
id: minimal-example
attributes:
label: Minimal Reproducible Example
description: |
A *minimal*, self-contained app demonstrating the issue. Remove unrelated code. We should be able to copy, paste, and run it.

Template:

```python
from shiny import App, render, ui

app_ui = ui.page_fluid()
def server(input, output, session):
pass
app = App(app_ui, server)
```
render: python
validations:
required: true

- type: textarea
id: behavior
attributes:
label: Behavior
description: Describe what *is* happening and what you *expected* to happen.
placeholder: |
Current: When I click..., the app freezes.
Expected: The plot should update without freezing.
validations:
required: true

- type: textarea
id: errors
attributes:
label: Error Messages (if any)
description: Copy and paste any errors/tracebacks.
render: shell

- type: textarea
id: environment
attributes:
label: Environment
description: |
- OS: [e.g., Windows 10, macOS 15.2]
- Browser: [e.g., Chrome 132]
- Dependencies: `pip freeze` or `conda list` (especially `shiny`, `pandas`, `numpy`, etc.)
render: markdown
validations:
required: true
89 changes: 89 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: Documentation Issue
description: Report an issue or suggest improvements to the documentation.
title: "[Docs]: "
labels: ["documentation"]
body:
- type: markdown
attributes:
value: |
Thanks for helping improve the documentation! Provide as much detail as possible.

- type: dropdown
id: doc-type
attributes:
label: Type
description: What type of documentation?
options:
- API Reference
- Tutorials/Guides
- Examples
- Getting Started
- Conceptual Guides
- Function Docstrings
- Code Comments
- Installation
- Deployment
- Testing
- Other
validations:
required: true

- type: input
id: doc-location
attributes:
label: Location
description: URL or file path of the documentation.
placeholder: "e.g., https://... or `shiny/ui/__init__.py`"
validations:
required: true

- type: dropdown
id: issue-type
attributes:
label: Issue
description: What kind of issue?
options:
- Missing
- Incorrect
- Unclear
- Outdated
- Broken Links
- Code Example Issue
- Typo/Grammar
- Translation
- Suggestion
- Other
validations:
required: true

- type: textarea
id: suggested-content
attributes:
label: Suggested Changes
description: |
What changes would you like to see? Be specific. Include suggested text or code (use markdown code blocks).
placeholder: |
Provide suggested improvements or new content here...
```python
# Example code
```
validations:
required: true

- type: textarea
id: motivation
attributes:
label: Motivation (Optional)
description: Why is this change needed? How will it help users?
placeholder: "e.g., This clarification will prevent misunderstanding..."
validations:
required: false

- type: input
id: shiny-version
attributes:
label: Shiny Version (if applicable)
description: Only if the issue is version-specific.
placeholder: ex. 1.2.1
validations:
required: false
99 changes: 99 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: Feature Request
description: Suggest an idea for Shiny for Python.
title: "[Feature]: "
labels: ["enhancement", "needs-triage"]
body:
- type: markdown
attributes:
value: |
Thanks for suggesting a new feature! Please provide as much detail as possible.

- type: dropdown
id: feature-category
attributes:
label: Category
description: What area of Shiny would this enhance?
options:
- UI Components
- Reactive Programming
- Input/Output
- Deployment
- Dev Tools
- Performance
- Testing
- Accessibility
- Integrations
- Other
validations:
required: true

- type: dropdown
id: feature-scope
attributes:
label: Scope
options:
- Major Feature
- Minor Enhancement
- Quality of Life
- Experimental
validations:
required: true

- type: textarea
id: problem-description
attributes:
label: Problem
description: What problem does this feature solve? Why is it needed?
placeholder: |
As a user, I'm frustrated when... because...
I have to workaround this by..., which is not ideal because...
validations:
required: true

- type: textarea
id: proposed-solution
attributes:
label: Solution
description: Describe the feature. What should it do? How should it work?
placeholder: |
I would like a feature that...
```python
# Potential API (if applicable)
from shiny import ui
ui.new_component(...)
```
validations:
required: true
- type: textarea
id: alternative-solutions
attributes:
label: Alternatives (Optional)
description: Have you considered alternatives? Why are they less suitable?
placeholder: "I've considered... but my solution is better because..."

- type: textarea
id: example-usage
attributes:
label: Example (Optional)
description: Code example of how this feature would be used.
placeholder: |
```python
from shiny import App, ui
app_ui = ui.page_fluid(ui.your_new_feature(...))
```
render: python

- type: textarea
id: expected-impact
attributes:
label: Impact (Optional)
description: How would this benefit users? Who would use it?
placeholder: "Useful for users who want to... Enables new use cases..."
- type: dropdown
id: contribution-interest
attributes:
label: Contribution? (Optional)
options:
- Yes, I can implement (or help).
- Yes, I can review/test.
- No, just suggesting.
Loading