I'm wondering if you considered some kind of recipe for Rails applications. Every time we start a new Rails project in our company, we are taking the same steps: installing certain plugins, adding some custom rake tasks and executing svn actions to create a proper svn workspace. Wouldn't it be nice to apply some kind of application recipe when generating a new application with the 'rails' command?
The guys from Caboose created the Sample Rails application, which can be retrieved from SVN. I don't think storing a sample application in SVN is such a good idea, because of the versioning of the Rails code and plugins. When creating a new project, I often want the lastest Rails version and the most recent plugins and not be forced to update the sample repository first.
A recipe in the simplest form should contain a number of commands to execute, e.g.:
script/plugin install rspec
script/plugin install rspec_rails
rake svn:configure
In this way, the problem can easily be solved with a bash script. But I think a more high-level (YAML?) solution could also be nice:
plugins:
rspec
rspec_Rails
tasks:
svn:configure
This recipe file should be passed as a variable to the rails script:
rails weblog --recipe=/home/edwin/rails_with_rspec.yaml
rails weblog --recipe=http://www.example.com/my_rails_recipe.yaml
The possibility to download a recipe from the internet with the command might be a bit overkill, but can be nice if someone wants to share his recipes or to share recipes within a company.
I'm willing to add the functionality to the Rails core with a patch/git fork, but would like to know if it is a feature that fits in the Rails vision and if more people think this is usable.