To Publish a WordPress Theme on the official theme repository at WordPress Extend, there is long list of requirements given on the theme developer’s link Theme Development Checklist. Your also need to localize and internationalize your theme so it can be translated. The Process for localization is very simple that i will discuss some other time, meanwhile your can Google it. Also you have to create Subversion to maintain different version of your theme.
There is one more option for Theme Checklist, this is an interactive checklist at WordPress Theme Development Checklist Tool – WPLover, where you can check off each item as you go and keep track of your progress.
If you don’t plan to distribute your theme to the public, no need to check all 146 items on the checklist, just make sure you have not overlooked anything essential. But your theme should includes following functions, comments and loopss:
• wp_nav_menu() in the theme templates and add_theme_support(‘nav-menus’) in functions.php. For deatil Check Function Reference/wp nav menu
• add_custom_background() in functions.php if you want to allow the user to upload her own background image.For detail visit Function Reference/add custom background
• the_shortlink() somewhere inside the Loop if you want to publicize it.For Detail Function Reference/the shortlink
• comment_form() instead of the < form> tag and its contents in comments.php. Look at Function Reference/comment form