Got it? Do it!
Here is a renewed version: . |-- README |-- app | |-- modules | | |-- aggregator.modle | | |-- etc | | `-- watchdog.module | `-- theme-engines | `-- phptemplate |-- sites | |-- default | | |-- modules | | `-- themes | |-- site1.com | `-- site2.com |-- database | `-- create.mysql etc (also update.inc) |-- doc | `-- INSTALL etc |-- includes (content similar to now) |-- public | |-- index.php | |-- favicon.ico | |-- xmlrpc.php | |-- images | | `-- druplicon.png | |-- index.html | |-- javascripts | | |-- controls.js | | |-- dragdrop.js | | |-- effects.js | | `-- prototype.js | |-- robots.txt | |-- stylesheets | | |-- drupal.css | | `-- module1.css | `-- themes |-- script | |-- install.sh | |-- generate_module.sh | |-- environment_change.sh | `-- generate_theme.sh `-- vendor `-- htmlarea Some notes: themes, should be under public, they use images, CSS and more. How supported are symlinks? can we rely on them? if so, each contrib could be symlinked: /sites/default/modules/mymodule/stylesheets -> /public/stylesheets