1. Requirements (bootloader version, radio version etc)
2. State that it's from an official manufacturer or source base (stock ROM or AOSP-like source).
3. Thread shows a clear overview of changes made, in a way that users can see what has changed.
4. Explicit installation instructions.
5. ROMs need to identify what kernel they are using. If 100% stock then they must state that.
6. If custom kernel they must provide a link to the kernel on XDA (if available) or a link to the kernel source. This is required by GPL. Stock (untouched) kernels can link to the manufacturers source (if available).
7. At least 2-4 images (screen-shots) 1 of which must be of system/device info. Do not use photo hosts thay deluge users with ads and popups when they select the image. You can either attach the images, or use a hosting service such as photo-bucket for example.
8. Links to downloads. A link to a direct download is preferred. Linking to external websites home pages are not allowed, it must be linked to the Downloads page. Also use of "ad-driven" (adfly for example) or "commercial" sites are mostly not allowed. Registration on some sites "may" be allowed, but is subject to XDA Moderation approval.
9. Credits for sources used. Very important.
10. Keep your "asking for donations to a limit. You already have a "Donate" button.
Simply posting a link to some download site "here it is, download it", is not allowed.
Any questions, please feel free to contact any moderator.