Are you a stranger or a known collaborator?
Two ways to contribute, depending on whether you are already known to and trusted by the repository owner
Assuming you are a “stranger” to the repository owner
In my experience, a contribution to a repository doesn’t come out of nowhere. Often you will have been having a bit of a chat in someone’s repository issues (more on that later), and they will say, “Hey, that’s a great idea! Do you want to submit a pull request?!”. Here is your invitation to contribute!
By “stranger” I mean that you are not one of the people who have access to make changes to the repository without going through a gate keeper. Your gate keeper is the process of the pull request which is review by the repository owner.
If you know the repository owner
You can also submit changes in a more straight forward way if you have ben added as a collaborator to a repository. This requires the repository owner to have agreed this with you in advance, which we’re not going to assume has happened here. You can follow a detailed presentation on how to add collaborators to your repository here