Skip to content
69 changes: 38 additions & 31 deletions .github/ISSUE_TEMPLATE/convergence_epic.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,55 @@
---
name: (internal) Component convergence epic
about: (team member use only) Epic issue tracking convergence of a particular component
name: (internal) Component implementation epic
about: (team member use only) Epic issue tracking implementation of a particular component
---

<!--
These issues are used by core contributors to track the list of items that should be
completed as part of converging a component. More info can be found here: https://github.com/microsoft/fluentui/wiki/Component-Convergence-Guide
completed as part of creating a v9 component. More info can be found here: https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide
-->

## Preparation:
## Preparation

- [ ] Open UI Research
- [ ] [Open UI Research](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#open-ui-research)
- [link to https://open-ui.org/]
- [ ] Open GitHub issues related to component
- [ ] [Open GitHub issues related to component](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#find-open-issues-on-github)
- [link to each issue]
- [ ] react-\* package scaffolded with the right ownership in CODEOWNERS
- [link to package / PR]
- [ ] Component Spec authored and reviewed
- [link to spec in component package / PR]
- [ ] [Create react-\* package and component from template](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#component-package)
- [link to PR]
- [link to package: `https://github.com/microsoft/fluentui/tree/master/packages/react-components/react-<your-component>`]
- [ ] (Optional) [Draft implementation](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#draft-implementation)
- [link to PR, if applicable]
Copy link
Collaborator

Choose a reason for hiding this comment

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

@GeoffCox had a good idea about a codesandbox template for the Draft Implementation. Don't have to block on this, but I wanted to mention him so he saw this as a good place to put the link/idea bout the template

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's a good idea! I don't think this issue tempalte needs to mention the details specifically, but @GeoffCox it would be great to add details about that to the wiki article linked from here: https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#draft-implementation

Copy link
Collaborator

Choose a reason for hiding this comment

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

I guess my main feedback here would be to actually encourage folks to use a CodeSandbox instead of a PR. So this:

Suggested change
- [ ] (Optional) [Draft implementation](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#draft-implementation)
- [link to PR, if applicable]
- [ ] (Optional) [Draft implementation](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#draft-implementation)
- [link to CodeSandbox, if applicable]

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think I'll make it more generic of "link to draft implementation, if applicable". That way, people can implement the draft in whatever way makes the most sense to them. I think it's worthwhile updating the wiki article to suggest using CodeSandbox, but it's better to leave it unspecified in the epic issue. Does that sound good?

- [ ] [Component Spec authored](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#component-spec) and [reviewed](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#spec-review)
- [link to PR]
- [link to Spec.md: `https://github.com/microsoft/fluentui/tree/master/packages/react-components/react-<your-component>/Spec.md`]

## Implementation

[link to react-* package folder]

- [ ] Component implementation
- [ ] [Component implementation](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#implementation)
- [link(s) to component implementation related PRs]
- [ ] Storybook stories
- [link(s) to stories PRs]
- [ ] Add tests: Conformance, Unit, and VR -- add PRs to all
- [ ] Bundle size fixtures
- [ ] Conformance tests
- [ ] Unit tests
- [ ] VR tests
- [ ] Accessibility behavior tests
- [ ] Create an issue and run [manual accessibility tests](https://github.com/microsoft/fluentui/wiki/Manual-Accessibility-Review-Checklist): (issue link)
- [ ] Performance test scenario
- [ ] README.md covering basic usage
- [ ] MIGRATION.md guide (include v8 and v0)
- [ ] Initial conformance and unit tests (validate basic functionality)
- [ ] [Initial documentation](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#documentation)
- [ ] [Storybook stories](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#storybook-stories)
- [ ] README.md covering basic usage
- [ ] MIGRATION.md guide (include v8 and v0)
- [ ] [Component released as unstable](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#unstable-release) from `@fluentui/react-components/unstable`
- [link to PR]

## Validation

- [ ] Add and validate in UI Builder
- [ ] Add and validate in docs site
- [ ] Validate with token pipeline
- [ ] Validate in product
- [ ] Finalize migration guide
- [ ] Author codemods
- [ ] [Add tests](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#tests)
- [ ] Unit and conformance tests
- [ ] VR tests
- [ ] Bundle size fixtures
- [ ] Performance test scenario
- [ ] Accessibility behavior tests
- [ ] Create an issue and run [manual accessibility tests](https://github.com/microsoft/fluentui/wiki/Manual-Accessibility-Review-Checklist): [link to issue]
- [Link to PR(s)]
- [ ] [Validate in product](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#validation)
- [ ] [Finalize documentation](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#finalize-documentation)
- [ ] Review and add any missing storybook stories
- [ ] Finalize migration guide
- [ ] [Component released as stable](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#stable-release) from `@fluentui/react-components`
- [ ] Ensure exports are removed from from `@fluentui/react-components/unstable`
- [ ] In package.json: Remove the alpha/beta tag from the version number in package.json
- [ ] In package.json: Change beachball's `disallowedChangeTypes` to `"major", "prerelease"`