I have many situations where I create projects of the same type--web apps based on Lift or Node.js, Android apps, generic projects with a stock build system configured to my specs, etc. Often these projects are distributed by me or others as Git repositories which I can just clone and start developing on. When I'm ready to push my changes remotely, I just replace the origin remote and start committing.

It would be nice if Fossil could support this use case without requiring that the files for each new revision be re-added. Often I make changes that such a process wouldn't catch, like setting an ignore glob for build artifacts for instance. Here's what I'd recommend:

Make "fossil new" accept a second argument like so:

fossil new my_new_app.fossil

This would first clone into my_new_app.fossil. It would then detach my_new_app.fossil from this remote URL and change its project code such that I can't accidentally overwrite my template project with any changes I make in the new app.

I know that this is possible via a test command, but I think it's a common enough use case that it should be supported directly in new repository creation. Since I'm pretty much fully off of Git at this point, I'd like to start converting my various template starter projects to Fossil so I don't have to perform the same basic configuration steps each time I start a new project.