Skip to content
Merged
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
112 changes: 112 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_fix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
name: Bug Fix
description: Track implementation of a bug fix with detailed planning and requirements
title: "[Bug Fix]: "
labels: ["bug"]
assignees: []
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to plan and track a bug fix! Please fill out the following sections to document the implementation approach, requirements, and supporting details.

- type: input
id: overview
attributes:
label: Overview
description: Detailed description of the bug including purpose and intent as well as intended use cases
placeholder: Enter a clear and concise description of what the bug is
validations:
required: true

- type: textarea
id: definition-of-terms
attributes:
label: Definition of Terms
description: Detailed table of terms not considered 'common English' related to this bug
placeholder: |
| Term | Meaning | Reference |
| ---- | ------- | --------- |
| | | |
render: markdown
validations:
required: false

- type: textarea
id: architectural-considerations
attributes:
label: Architectural Considerations and Constraints
description: Detailed model of the bug's architectural consideration and flow of data within the system
placeholder: |
- Include constraints such as performance considerations or affected components
- Include ASCII-art or mermaid diagrams where appropriate
- Include KaTeX math where relevant, with plain-English explanations
render: markdown
validations:
required: false

- type: textarea
id: implementation-guide
attributes:
label: Implementation Guide
description: Detailed step-by-step implementation guide for fixing this bug, including code snippets, unit tests and benchmarks
placeholder: |
If requested, write steps to follow Test Driven Development principles, leading with a minimal breaking test, followed by a minimal change to fix the test, followed by refactor, repeating until the fix is complete.

If the fix is extensive and complex, create multiple subsections to make these steps more legible.
render: markdown
validations:
required: false

- type: textarea
id: plan-requirements
attributes:
label: Plan Requirements
description: Detailed description of the fix and its requirements
placeholder: |
A list of plan-level requirements in Given/When/Then syntax.

If a fix is considered complete then indicate with a ***COMPLETE*** prefix.

```markdown
- (***requirement status***) Requirement descriptive text
- GIVEN a precondition
- WHEN an event happens
- THEN an action is taken / a result property is true

> Details of missing implementation / link to phase with missing implementation
```
render: markdown
validations:
required: false

- type: textarea
id: related-plan-docs
attributes:
label: Related Plan Documentation
description: Link to related plan documentation files in the repository
placeholder: |
If this issue is part of a larger plan, link to the related documentation:

- Parent plan: `docs/plans/<parent-plan>.md` - Overall plan this issue is part of
- Related plans: `docs/plans/<related-plan>.md` - Related work or dependent plans

For complex fixes, corresponding detailed documentation may exist in:
- `docs/plans/<issue-area>/` - Folder containing detailed planning documents
- `docs/plans/<issue-area>/<topic>.md` - Specific topic documentation

Reference the existing plan structure when linking related documentation.
render: markdown
validations:
required: false

- type: textarea
id: references
attributes:
label: References
description: A list of links to external resources such as library documentation or articles about relevant techniques
placeholder: |
- Link 1
- Link 2
render: markdown
validations:
required: false
87 changes: 87 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: Bug Report
description: Report a bug or issue in the GameEngineAdapter
title: "[Bug]: "
labels: ["bug"]
assignees: []
body:
- type: markdown
attributes:
value: |
Thanks for reporting a bug! Please fill out the following sections to help us investigate and understand the issue.

- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of what the bug is
placeholder: Describe the bug in detail
validations:
required: true

- type: textarea
id: expected-behaviour
attributes:
label: Expected Behaviour
description: What you expected to happen
placeholder: Describe what should happen
validations:
required: true

- type: textarea
id: actual-behaviour
attributes:
label: Actual Behaviour
description: What actually happened instead
placeholder: Describe what actually happens
validations:
required: true

- type: textarea
id: reproduction-steps
attributes:
label: Steps to Reproduce
description: Steps to reproduce the behaviour
placeholder: |
1. ...
2. ...
3. ...
render: markdown
validations:
required: false

- type: textarea
id: environment
attributes:
label: Environment
description: Details about your environment
placeholder: |
- .NET SDK version:
- OS:
- Adapter/Engine:
- Any other relevant details:
render: markdown
validations:
required: false

- type: textarea
id: error-logs
attributes:
label: Error Logs or Stack Trace
description: Any error messages or stack traces
placeholder: |
```
Paste error logs or stack trace here
```
render: markdown
validations:
required: false

- type: textarea
id: additional-context
attributes:
label: Additional Context
description: Any other context or screenshots that might help
placeholder: Add any other context here
render: markdown
validations:
required: false
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: GameEngineAdapter Documentation
url: https://github.com/JohnLudlow/GameEngineAdapter/blob/main/README.md
about: Please check the documentation for questions about how to use the library.
- name: Discussion Forum
url: https://github.com/JohnLudlow/GameEngineAdapter/discussions
about: Ask and answer questions about the GameEngineAdapter.
135 changes: 135 additions & 0 deletions .github/ISSUE_TEMPLATE/epic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
name: Epic/Parent Issue
description: Track a large feature or body of work that will be broken down into multiple child issues
title: "[Epic]: "
labels: ["epic"]
assignees: []
body:
- type: markdown
attributes:
value: |
Thanks for proposing a large body of work! Please fill out the following sections to help us understand and track this epic.

- type: input
id: overview
attributes:
label: Overview
description: Detailed description of the epic including purpose and intent as well as intended use cases
placeholder: Enter a clear and concise description of what this epic encompasses
validations:
required: true

- type: textarea
id: definition-of-terms
attributes:
label: Definition of Terms
description: Detailed table of terms not considered 'common English' related to this epic
placeholder: |
| Term | Meaning | Reference |
| ---- | ------- | --------- |
| | | |
render: markdown
validations:
required: false

- type: textarea
id: architectural-considerations
attributes:
label: Architectural Considerations and Constraints
description: Detailed model of the epic's architectural consideration and flow of data within the system
placeholder: |
- Include constraints such as performance considerations or affected components
- Include ASCII-art or mermaid diagrams where appropriate
- Include KaTeX math where relevant, with plain-English explanations
render: markdown
validations:
required: false

- type: textarea
id: implementation-guide
attributes:
label: Implementation Guide
description: Detailed step-by-step implementation guide for this epic, including code snippets, unit tests and benchmarks
placeholder: |
If requested, write steps to follow Test Driven Development principles, leading with a minimal breaking test, followed by a minimal change to fix the test, followed by refactor, repeating until the epic is complete.

If the epic is extensive and complex, create multiple subsections to make these steps more legible.
render: markdown
validations:
required: false

- type: textarea
id: epic-requirements
attributes:
label: Epic Requirements
description: Detailed description of the epic and its requirements
placeholder: |
A list of epic-level requirements in Given/When/Then syntax.

If the epic is considered complete then indicate with a ***COMPLETE*** prefix.

```markdown
- (***requirement status***) Requirement descriptive text
- GIVEN a precondition
- WHEN an event happens
- THEN an action is taken / a result property is true

> Details of missing implementation / link to phase with missing implementation
```
render: markdown
validations:
required: false

- type: textarea
id: child-issues
attributes:
label: Child Issues
description: Break this epic down into child issues with appropriate links
placeholder: |
List the child issues that make up this epic. For each child issue:
- [ ] Child issue title - Brief description

When child issues are created, link them here and update their status.

Example structure:
- [ ] Child Issue 1: Description
- Link: https://github.com/JohnLudlow/GameEngineAdapter/issues/XXX
- Status: Not started/In progress/Completed

- [ ] Child Issue 2: Description
- Link: https://github.com/JohnLudlow/GameEngineAdapter/issues/XXX
- Status: Not started/In progress/Completed
render: markdown
validations:
required: false

- type: textarea
id: related-plan-docs
attributes:
label: Related Plan Documentation
description: Link to related plan documentation files in the repository
placeholder: |
If this epic is part of a larger plan or body of work, link to the related documentation:

- Parent plan: `docs/plans/<parent-plan>.md` - Overall plan this epic is part of
- Related plans: `docs/plans/<related-plan>.md` - Related work or dependent plans

For large epics, detailed documentation may exist in a well-ordered file structure:
- `docs/plans/<epic-area>/` - Folder containing detailed planning documents
- `docs/plans/<epic-area>/<topic>.md` - Specific topic documentation

This mirrors the hierarchy of related GitHub issues, with epic-level plans linking to child work. Reference the existing plan structure when linking related documentation.
render: markdown
validations:
required: false

- type: textarea
id: references
attributes:
label: References
description: A list of links to external resources such as library documentation or articles about relevant techniques
placeholder: |
- Link 1
- Link 2
render: markdown
validations:
required: false
Loading
Loading