Please read the contributing guide on the ionic website: http://ionicframework.com/contribute/
If you have a question on how something works, or its expected functionality, you might want to visit the Ionic Forum first.
If you think you have found a bug, or have a new feature idea, please start by making sure it hasn't already been reported. You can search through existing issues to see if someone's reported one similar to yours.
If not, then create a codepen.io that demonstrates the problem (try to use as little code as possible: the more minimalist, the faster we can debug it). Also, please do not group multiple topics into one issue, but instead each should be its own issue.
Next, create a new issue that briefly explains the problem, and provides a bit of background as to the circumstances that triggered it. Don't forget to include the link to that codepen.io you created!
When in doubt, keep your pull requests small. To give a PR the best chance of getting accepted, do not bundle more than one "feature" or bug fix per PR. Doing so makes it very hard to accept it if one of the fixes has issues.
It's always best to create two smaller PRs than one big one.
Always use two spaces, no tabs. This goes for any HTML, CSS, or Javascript.
By contributing your code, you agree to license your contribution under the MIT license.