I see that some of you have already started making n test zip files.

It's good to explore as you learn faster. So just to recap.
1) CWM zip is just a zip file. The important things is what is inside.
2) It comes in 2 important part in the zip - The Meta-inf and the things you wanna flash.
3) The easy one is the things you wanna flash. It have to be located in the correct folder location as your phone. Example: Systemui.apk should be in System (as a folder) -> App (as a folder) -> Systemui.apk (the file you want to flash)
4) The meta-inf is what determines the zip file does. Inside this folder you will find the following files and folder
meta-inf (as a folder) -> com (as a folder) -> google (as a folder) -> android (as a folder) -> update binary & update script (both important files)
5) Update binary is a standard file that is not of your concern. You can just rip it out from any latest zip file that you know is working
6) Update script determines what the zip file does. Basically is a script of commands. Use it to edit in PC, i recommend using Notepad++ (
This is not the Notepad that comes in your PC) Google and download it, its freeware.
7) Depending on what you want to do, you need to put commands in the script and here is where any simple programming knowledge comes in. You can dissect existing update script and its not difficult to figure this out
Example of commands
CODE
run_program("/sbin/busybox", "mount", "/system"); --> This is for mounting, normally not required as system is mount when you enter recovery
ui_print(""); --> This is how you see text in recovery when you are flashing stuff. harmless code and just put what you want the user to see in between the double apostrophe
package_extract_dir("system", "/system"); --> This is the important command that will extract the files from your zip file to the phone. You dun need to specify to the exact folder. ("system", "/system") or ("data", "/data") will do since you dun put unnecessary files in the zip
delete("/data/dalvik-cache/system@app@SystemUI.apk@classes.dex"); --> Straightforward command used to delete files.
set_perm(0, 0, 0644, "/system/app/SystemUI.apk"); --> Set permission of a certain file
run_program("/sbin/busybox", "umount", "/system"); --> This is for unmounting
delete_recursive("/data/dalvik-cache"); --> Clear dalvik cache
delete_recursive("/cache"); --> Clear cache
You can google and look for more commands but for me these are sufficient to make simple flashable zip files. Commands for flashing rom especially with aroma is alot more complicated.
8) After you have all the files in place, just zip is normally on the pc. BUT make sure when you open the zip, it immediately shows the meta-inf and your folders.
Example: If you open up example_cwm.zip, you must immediately see meta-inf and your folders. If you open up example_cwm.zip and see a example_cwm folder then its wrong.
9) Sometime when you open up meta-inf you will see CERT.RSA, CERT.SF and MANIFEST.MF. I still dunno what these are but zip files work as normal even without them.
10) The easiest way to do a cwm zip file without pondering into all this is to download any existing one that does the function you want and just take its updater script and put into your own zip file.