Here is a shortened list of what's involved in making a public plugin and publish it on WordPress.org site:
- Write a bullet-proof PHP code (mission impossible, but approach as close as you can)
- Organize the code in a special way: names of the files, folders, special headers, screenshots, readme.txt and so on.
- Place your plugin somewhere so that WordPress staff can check it out and approve. (Hint: GitHub is a good place for that)
- Apply here: http://wordpress.org/plugins/add/. Note: the name of your plugin will become it's "slug" in the URL, so choose carefully!
- Wait for the approval, and if you never used SVN before, take this time to learn the basics.
- SVN-Commit your code once approved.
- Wait for reviews and support request.............. :-)
- Folders structure and readme.md on GitHub are not exactly the same as on WordPress.org
- You can setup Travis-CI calling PHPUnit to test your code automatically. It's not an easy thing to setup - but highly recommended.
I'll try to find time and write more details [Part 2,3,...] soon.