A cool project, if you have the time
Archetypes a-la-carte?
I've been wanting to look into this for a while, but I just can't find the time, so I thought I'd put it out there. We already have ZopeSkel, which you can use to create a new egg-based Plone product, like this:
$ paster create -t plone my.package
Paster is very extensible, and it's pretty easy to create new templates. We already have a few, such as plone_app for nested name spaces ala plone.app.* and plone3_theme, a package set up like a theme.
I'd like to propose a new template: archetype. This would be a special version of the plone template that created a layout geared up for a modern Archetypes package. "Modern" here means Plone 3-like and Zope 3-like, with GenericSetup, Zope 3 views, adapters and field properties.
However, Paster lets us take this one step further. I propose that the archetypes template leaves the bare bones setup, without any actual content types. Instead, you'd do this to create a new content type:
$ paster contenttype
That would only work inside the package, and it would essentially invoke a new paster template (perhaps with some interactive options) to add a new content type, including a content type class, some GS setup, a browser view and so on. The key here is that you could invoke this command as many times as you wanted, to add more content types to the product. We could even make different commands, such as page to add a standalone page or form to add a simple formlib form.
Under the hood, this can be implemented using Paster's local command support. Pylons already does something like this to create new controllers, and it works very well.
I know pretty much exactly how it needs to work and what the final output needs to look like. I think it'd be a great time-saver for a lot of people, and would help us stabilise a "best practice" template that we could then evolve over time. It's not even that much work, just a bit of QA to make sure it works for the edge cases and is easy to use. I have a skeletal product already that could be adapted for this. If anyone wants to take it on, please give me a shout. :-)

Previous:
Real Soon Now - An update on my book

+1