Okay,
I'm going to settle on the following package structure for now[1]:
+-Sample-Core.pkg\
+-snapshot\
| +-classes\
| | +-SampleCore.class\
| | +-instance-side\
| | +-SampleCore.st
| | +-author.st
| +-extensions\
| +-Object.class\
| +-instance-side\
| +-isSample.st
+-.filetree
+-metacello.st
+-package
+-version
I am not claiming that it is perfect, but I think that it is good enough to move forward with. I plan to update the sample and alternate projects to reflect this structure and then I will set about implementing this in the filetree project[2].
If you want to fix bugs or support alternate directory structures, I encourage you to fork the filetree project on github and issue a pull request when you have code to share:)
By settling on this format and getting it implemented, it will at least be possible for folks to actually start using git/github ...
The next step is to get the bare minimum Metacello api support ... for that I am considering creating a new Metacello project (metacello_dev) that will use the filetree format throughout and will be stocked with versions starting around 1.0-beta.28 or so up through the present ...
Once the bare minimum Metacello api support is complete I'll be looking for volunteers to start using the git/github for their own projects ...
Once we have a few developers living with the system, I expect that we will revisit the package structure issue again and see if we have different opinions as to what works and doesn't work ... I'll be completely prepared to revamp everything at that point if necessary ...
Thanks for all the cards and letters and I encourage continued discussions and brainstorming on the project and package directory structures ...
Dale
[1]
https://gist.github.com/1892114[2]
https://github.com/dalehenrich/filetree