-
Notifications
You must be signed in to change notification settings - Fork 462
Contributing to XamarinCommunityToolkit
!!! This a work in progress !!!
First of all: keep breathing. We'll get through this together. Contributing for the first time to a big(ger) open-source project can be overwhelming, but we're here to help.
That is awesome! We can't wait to see what you have in store for us. Before you go out and work on it, we do like to have a couple of things first. This might seem overhead, but it actually benefits us both. This way, we know what is coming and can anticipate on it and for you it's super helpful to get some early feedback that you can incorporate in your work so you don't work on bits that needs changing anyway. Here is what we would like you to do.
Does the Toolkit already have the feature? Or something similar? What value will your feature add to this? Is there maybe a library out there that is already doing this? Would it be feasible to contact them and see if we can collaborate on that?
1. Open a new feature request issue
Please be as specific and detailed as it makes sense at the time of opening. A good rule of thumb is probably: if it's a bigger feature, include some (pseudo-)code on your plans or planned API. If it's a smaller feature, describe what you want to add and what purpose it would serve.
This stage may take a little longer. Again, depending on the size of the feature we would like to have one or more people approve this feature accordingly.
If it is not already included, we might ask for a spec where you describe the proposed APIs in a technical sense a bit deeper. This is basically where we start shaping the feature to become its best version of itself and you won't get any nasty surprises during the pull request review.
Don't be afraid of some feedback, we still like you very much! We just want to make sure we take in a maintainable API we're happy with. Just see any and all feedback as something to learn from and if something is not clear to you, please ask! We definitely have no idea what we're doing, so we're happy to be proven wrong or simply explain our reasoning.
In some very odd case we might reject the idea and we will explain why
Hooray! Feature approved, let's do this! Now is the time to start working on this and get that PR in. Please make note of our coding guidelines and read up on "I've opened a PR, what can I expect?"