diff --git a/.github/ISSUE_TEMPLATE/00-specification-proposal.yml b/.github/ISSUE_TEMPLATE/00-specification-proposal.yml new file mode 100644 index 0000000..700a22c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/00-specification-proposal.yml @@ -0,0 +1,57 @@ +name: Create a formal specification proposal +description: For proposals that have been invited by a team member +labels: proposal +body: + - type: markdown + attributes: + value: | + Hello, and thanks for your interest in contributing to the Harp standard! + + If you haven't been invited by a team member to open an issue, please instead [open a discussion](https://github.com/harp-tech/protocol/discussions/new?category=general) marked \[proposal\] and we'll try to give you feedback on how to get to an issue-ready proposal. + + New specification proposals should aim to fully fill out this template, at least up to and including detailed design. The sections on drawbacks, alternatives and unresolved questions may be omitted from the initial proposal. + # Ideally we wouldn't show this to the user but GitHub doesn't support that + - type: textarea + attributes: + label: Proposal status + description: (No need to change this) + value: | + * [x] Proposed + * [ ] Prototype: Not Started + * [ ] Implementation: Not Started + * [ ] Specification: Not Started + - type: textarea + attributes: + label: Summary + description: One paragraph explanation of the feature. + validations: + required: true + - type: textarea + attributes: + label: Motivation + description: Why are we doing this? What use cases does it support? What is the expected outcome? + validations: + required: true + - type: textarea + attributes: + label: Detailed Design + description: | + This is the bulk of the proposal. The Harp standard comprises multiple levels: device hardware; microcontroller firmware; high-level software interfaces; and data formats. Changes to the standard specifications might impact any or all of these levels, so please make sure you have considered the impact of your proposal on all the levels in the detailed design. + + Explain the design in enough detail for somebody familiar with the Harp standard to understand, and for somebody familiar with the impacted levels to implement, and include examples of how the feature will be used. Please include links to relevant parts of the existing specification to describe the changes necessary to implement this feature. An initial proposal does not need to cover all cases, but it should have enough detail to enable a team member to bring this proposal to design if they so choose. + - type: textarea + attributes: + label: Drawbacks + description: Why should we *not* do this? + - type: textarea + attributes: + label: Alternatives + description: What other designs have been considered? What is the impact of not doing this? + - type: textarea + attributes: + label: Unresolved Questions + description: What parts of the design are still undecided? + - type: textarea + attributes: + label: Design Meetings + description: Link to standard review board meetings where this proposal has been discussed. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..e344ff6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: true +contact_links: + - name: Request feedback on a specification proposal idea + about: For early-stage informal specification proposals + url: https://github.com/harp-tech/protocol/discussions/new?category=open-ended diff --git a/.github/ISSUE_TEMPLATE/specification-proposal.md b/.github/ISSUE_TEMPLATE/specification-proposal.md deleted file mode 100644 index a4b9e7e..0000000 --- a/.github/ISSUE_TEMPLATE/specification-proposal.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -name: Create a new specification -about: For proposals that have been invited by a team member -title: 'Feature name' -labels: proposal -assignees: '' - ---- - - -* [x] Proposed -* [ ] Prototype: Not Started -* [ ] Implementation: Not Started -* [ ] Specification: Not Started - -## Summary - - - -## Motivation - - - -## Detailed Design - - - -## Drawbacks - - - -## Alternatives - - - -## Unresolved Questions - - - -## Design Meetings - -