Contributions are always welcome It really depends on what you'd like to do.
If it's a small bug fix or minor non-breaking change then simply submit a pull request on github and you're good to go.
If it's a large change that breaks the existing API or involves redesigning the architecture then it's best to raise an issue on github to discuss it first. The main thing we'd like to discuss is why you'd like to make those changes (pros / cons) and how it will make things better (using examples of how it'd make it easier to make games).
The other thing that makes life a lot easier for me is small pull requests. I'd much rather have to deal with a bunch of smaller pull requests over one massive one. So figuring out a way to break the work up into smaller tasks is a good idea.