Patches are welcome in whatever form. Discussions about patches happen on the vim-dev maillist. If you create a pull request on GitHub it will be forwarded to the vim-dev maillist. You can also send your patch there directly. An attachment with a unified diff format is preferred. Information about the maillist can be found on the Vim website.
Please consider adding a test. Test coverage isn't very good yet, this needs to improve. Look through recent patches for examples. The tests are located under “src/testdir”.
We use GitHub issues, but that is not a requirement. Writing to the Vim maillist is also fine.
Please use the GitHub issues only for actual issues. If you are not 100% sure that your problem is a Vim issue, please first discuss this on the Vim user maillist. Try reproducing the problem without any plugins or settings:
vim -N -u NONE
If you report an issue, please describe exactly how to reproduce it. For example, don't say “insert some text” but say what you did exactly: “ahere is some text<Esc>”. Ideally, the steps you list can be used to write a test to verify the problem is fixed.
Feel free to report even the smallest problem, also typos in the documentation.
You can find known issues in the todo file: “:help todo”. Or open the todo file on GitHub to see the latest version.