Glest and it's forks, GAE and MegaGlest, all use their folder structure to help define mods. XML files are places in folders appropriately for the engine to parse. Folders such as "images" frequently found in unit folders are NOT necessary, and the images could be placed anywhere, as long as you link to them properly in their XMLs.
Folder structure[]
Names surrounded by % are placeholders. For example %unit_name% should be the exact name of the unit.
Glest/MegaGlest[]
/core /faction_textures /menu /about_models /main_models /music /sound /textures /menu.xml /misc_textures /water_sounds /lang ./maps ./scenarios /%scenario_name% /%scenario_name.xml% ./screens ./techs /tech_name /factions /%faction_name% /units /%unit_name% /%unit_name.xml% /upgrades /%upgrade_name% /%upgrade_name.xml% /%faction_name.xml% /resources /resource_name /%resource_name.xml% /%tech_name.xml% ./tileset /%tileset_name% /%tileset_name.xml% ./tutorials /%tutorial_name% /%tutorial_name.xml%
GAE[]
./share /glestae /data /core /menu /about_models /fonts /main_models /music /sound /textures /menu.xml /misc_textures /water_sounds /gae /data /defeat_messages /lang /scenarios /%category /%scenario_name% /%scenario_name.xml% /maps /techs /tech_name /factions /%faction_name% /units /%unit_name% /%unit_name.xml% /upgrades /%upgrade_name% /%upgrade_name.xml% /%faction_name.xml% /resources /resource_name /%resource_name.xml% /%tech_name.xml% /tileset /%tileset_name% /%tileset_name.xml%