We don’t have a specific process right now for external contributors because we want to make contributing as easy as possible, at least in this phase of the project. So, as long as they contribute to the code, we take care of the rest.
For the Link component, just go ahead with the PR as it seems like a pretty straight-forward implementation
We use the Feature Discussion as the main source of truth for a feature. So feel free to add a post here with your implementation ideas, the things you want to accomplish in the first PR, and then link here the PR (or other relevant links) and update your progress from time to time.
The PR review conversation will happen in the PR and that is fine, but if during the development we feel like we need to make a serious change to the implementation, we try to have that conversation here, in the Feature Discussion.
After the PR is finished, we do a final update here to inform about the Final Implementation. The idea is that anyone reading the Feature Discussion from start to end should have all the information available.
Overtime, once we start receiveing more contributions, we will slowly introduce them to the processes we follow ourselves, which involve:
- Writing a Feature Discussion to start a conversation.
- Writing an Implementation Proposal when the work of that Feature is going to be started.
- Starting a PR with the code, that includes:
- [ ] Working on the code
- [ ] Updating the TSDocs of any file modified
- [ ] Updating the types
- [ ] Adding or updating Unit tests
- [ ] Adding or updating End to end tests
- [ ] Adding or updating TypeScript tests
- [ ] Updating starter themes
- [ ] Updating other packages
- [ ] Adding new issue in the docs repo
- [ ] Updating the relevant Community discussions
- [ ] Adding a Changeset (with link to its Feature Discussion if it exists)
- Add the relevant docs for this feature, done in collaboration with our documentation team.
- Finally, update the Feature Discussion with the Final Implementation.
Those tasks are already included in our PR template. But for external contributors, we will take care of the remaining tasks when something is missing.
We have a small contribution guide that we need to improve:
And a rather complete implementation proposal template for the most complex features:
This is an example of a FD where we used the IP template:
We don’t want to impose such a large implementation proposal for all the features, some of them will do just fine with a small implementation proposal, like for example this
Other things in our todo list are:
- Improve our Contribution guide.
- Add a Coding Standard guide.
- Add a Design principles guide.
Probably more. And of course, any feedback is welcomed