Skip to content
Draft
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
140 changes: 140 additions & 0 deletions .github/ISSUE_TEMPLATE/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
# Issue Templates

This directory contains issue templates for the Wassette repository. These templates help ensure that issues contain all necessary information for efficient triage and resolution.

## Available Templates

### 🐛 Bug Report (`bug_report.yml`)
Use this template to report bugs, errors, or unexpected behavior in Wassette.

**Includes:**
- Description of the bug
- Steps to reproduce
- Expected vs. actual behavior
- Error logs
- Version and system information
- Component details

**Automatically adds label:** `bug`

### ✨ Feature Request (`feature_request.yml`)
Use this template to propose new features or enhancements.

**Includes:**
- Feature summary and motivation
- Proposed solution
- Feature area classification
- Alternative approaches
- Usage examples
- Breaking change assessment

**Automatically adds label:** `enhancement`

### 📚 Documentation Improvement (`documentation.yml`)
Use this template to suggest improvements to documentation or report documentation issues.

**Includes:**
- Documentation type and location
- Issue type (missing, incorrect, unclear, etc.)
- Current content
- Suggested improvements

**Automatically adds label:** `documentation`

### ❓ Question / Help (`question.yml`)
Use this template to ask questions or get help using Wassette.

**Includes:**
- Your question
- Topic area
- What you've tried
- Context and setup
- Relevant code or configuration

**Automatically adds label:** `question`

**Note:** For general discussions, consider using [GitHub Discussions](https://github.com/microsoft/wassette/discussions) instead.

### 🔒 Security Issue (`security.yml`)
Use this template for non-sensitive security improvements or discussions.

**Important:** For sensitive security vulnerabilities, use [GitHub's private vulnerability reporting](https://github.com/microsoft/wassette/security/advisories/new) instead of filing a public issue.

**Includes:**
- Severity assessment
- Security category
- Potential impact
- Affected versions
- Suggested mitigation

**Automatically adds label:** `security`

## Template Configuration (`config.yml`)

The `config.yml` file configures the issue template chooser and provides helpful links:

- **Blank Issues:** Enabled (allows creating issues without templates when needed)
- **Contact Links:**
- GitHub Discussions for community questions
- Documentation site
- Private security reporting
- Code of Conduct

## Best Practices

### For Issue Reporters

1. **Choose the right template** - Select the template that best matches your issue type
2. **Fill out all required fields** - These are marked with an asterisk (*)
3. **Be specific** - Provide detailed information to help maintainers understand your issue
4. **Search first** - Check if a similar issue already exists before creating a new one
5. **Follow up** - Respond to questions from maintainers to help resolve your issue

### For Maintainers

1. **Template Updates** - Keep templates aligned with evolving project needs
2. **Label Management** - Ensure labels specified in templates exist in the repository
3. **Triage Process** - Use template fields to quickly understand and categorize issues
4. **Documentation** - Keep CONTRIBUTING.md and other docs in sync with templates

## Template Maintenance

### Adding a New Template

1. Create a new `.yml` file in this directory
2. Follow the GitHub issue form schema (see [documentation](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms))
3. Test the template by creating a test issue
4. Update this README
5. Update CONTRIBUTING.md if needed

### Modifying Existing Templates

1. Edit the `.yml` file
2. Validate YAML syntax: `python3 -c "import yaml; yaml.safe_load(open('template.yml'))"`
3. Test changes by creating a test issue
4. Update this README if the changes are significant

### Common Fields

Most templates include these common elements:
- `name` - Template name shown in the issue chooser
- `description` - Brief description of when to use this template
- `title` - Default issue title prefix
- `labels` - Auto-applied labels
- `body` - Array of form fields (markdown, textarea, input, dropdown, checkboxes)

## YAML Validation

To validate all templates:

```bash
for file in .github/ISSUE_TEMPLATE/*.yml; do
python3 -c "import yaml; yaml.safe_load(open(\"$file\"))" && echo "✓ $file" || echo "✗ $file"
done
```

## Resources

- [GitHub Issue Forms Documentation](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository)
- [Issue Form Schema Reference](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms)
- [Wassette Contributing Guidelines](../../CONTRIBUTING.md)
107 changes: 107 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
name: Bug Report
description: Report a bug or unexpected behavior in Wassette
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug! Please fill out the sections below to help us understand and fix the issue.

- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of what the bug is.
placeholder: Tell us what happened
validations:
required: true

- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to Reproduce
description: Steps to reproduce the behavior
placeholder: |
1. Run command '...'
2. Load component '...'
3. See error
validations:
required: true

- type: textarea
id: expected-behavior
attributes:
label: Expected Behavior
description: What did you expect to happen?
placeholder: What should have happened
validations:
required: true

- type: textarea
id: actual-behavior
attributes:
label: Actual Behavior
description: What actually happened?
placeholder: What actually happened
validations:
required: true

- type: textarea
id: logs
attributes:
label: Error Logs
description: If applicable, add error messages or logs
placeholder: Paste error logs here

- type: input
id: version
attributes:
label: Wassette Version
description: What version of Wassette are you using?
placeholder: "e.g., 0.3.3, main branch"
validations:
required: true

- type: dropdown
id: os
attributes:
label: Operating System
description: What operating system are you using?
options:
- Linux
- macOS
- Windows
- Other (please specify in additional context)
validations:
required: true

- type: dropdown
id: installation-method
attributes:
label: Installation Method
description: How did you install Wassette?
options:
- Cargo (from crates.io)
- Built from source
- Homebrew
- WinGet
- Docker
- Other (please specify in additional context)

- type: textarea
id: component-info
attributes:
label: Component Information
description: If the issue is related to a specific component, provide details
placeholder: |
Component name:
Component URI:
Component source (OCI/local/etc):

- 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
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
blank_issues_enabled: true
contact_links:
- name: 💬 GitHub Discussions
url: https://github.com/microsoft/wassette/discussions
about: Ask questions and discuss ideas with the community
- name: 📖 Documentation
url: https://microsoft.github.io/wassette/latest/
about: Read the official Wassette documentation
- name: 🔒 Private Security Report
url: https://github.com/microsoft/wassette/security/advisories/new
about: Report a security vulnerability privately
- name: 💼 Microsoft Open Source Code of Conduct
url: https://opensource.microsoft.com/codeofconduct/
about: Learn about our community guidelines
86 changes: 86 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Documentation Improvement
description: Suggest improvements or report issues with documentation
title: "[Docs]: "
labels: ["documentation"]
body:
- type: markdown
attributes:
value: |
Thanks for helping improve Wassette's documentation! Clear docs help everyone.

- type: dropdown
id: doc-type
attributes:
label: Documentation Type
description: What type of documentation needs improvement?
options:
- README
- Getting Started Guide
- Installation Instructions
- API Reference
- CLI Reference
- Architecture Documentation
- Design Documents
- Examples
- Contributing Guidelines
- Code Comments
- Other (please specify below)
validations:
required: true

- type: input
id: doc-location
attributes:
label: Document Location
description: Which file or page needs updating?
placeholder: "e.g., docs/installation.md, README.md section 'Using Wassette'"
validations:
required: true

- type: dropdown
id: issue-type
attributes:
label: Issue Type
description: What kind of documentation issue is this?
options:
- Missing information
- Incorrect information
- Outdated information
- Unclear explanation
- Typo or grammar
- Broken link
- Missing example
- Needs more detail
- Other (please specify below)
validations:
required: true

- type: textarea
id: description
attributes:
label: Description
description: Describe the documentation issue or improvement
placeholder: What's wrong or what could be better?
validations:
required: true

- type: textarea
id: current-content
attributes:
label: Current Content
description: If applicable, quote the current documentation that needs changing
placeholder: Paste the current text here

- type: textarea
id: suggested-content
attributes:
label: Suggested Improvement
description: How should this be changed or what should be added?
placeholder: Provide your suggested text or outline

- type: textarea
id: additional-context
attributes:
label: Additional Context
description: Any other context, screenshots, or references
placeholder: Links, screenshots, or additional details
Loading
Loading