Hacker News new | past | comments | ask | show | jobs | submit login
Rails App Template Alternative (taskrabbit.com)
12 points by bleonard on Feb 9, 2013 | hide | past | favorite | 4 comments



It is interesting to see this approach.

Seems a lot of interest this week in exploring approaches to Rails starter apps: Cristiano Betta's Primo [1], Carbon Five's Raygun [2], this script from TaskRabbit. So I updated two lists I maintain:

A list of starter apps: http://railsapps.github.com/rails-examples-tutorials.html

A list of various template-generating gems and application templates: http://railsapps.github.com/rails-application-templates.html

Two observations, if I may. First, it's very interesting to compare the commonalities and differences among the various starter apps, in light of discussion of "Rails is omakase" (@dhh) and "Rails has Two Default Stacks" (@steveklabnik).

Second, most starter apps end up mired in the tar pits of neglect, abandoned in the constant change of Rails and its gem ecosystem. Building a starter app, an application-generating gem, or an application template is the smaller challenge; maintaining it is the bigger challenge. To that end, a starter app needs a large communal open source effort to stay fresh and up-to-date. Most projects have failed on this count.

[1] https://github.com/cbetta/primo

[2] https://github.com/carbonfive/raygun


I had not seen raygun, but it is essentially the same as our approach: make an app and then clone it.

My app.rake is approximately the same as the executable in raygun: https://github.com/carbonfive/raygun/blob/master/bin/raygun

In fact this command is almost exactly the same raygun: shell "find . -type f -print | xargs #{sed_i} 's/#{proto_name}/#{new_name}/g'"

app.rake: grep -rl #{find} #{directory} | xargs sed -i '' 's/#{find}/#{replace}/g'

I think this approach works for us and Carbon Five because we've picked one type of stack and go with that.

As to maintenance, I tend to add/test new platform features in the template app and use that as an example to how to upgrade the existing ones. If you do that and update all the gems in the process, it tends to stay up to date.


It'd be interesting to see the Warren starter app. I didn't notice a link. Is it on GitHub?


It's an internal app with lots of internal gems, unfortunately.

The main point is that it's just the first day (or hour) of what you would do on all your projects: the kind of stuff people put in templates (authentication, jquery, testing preferences, common layouts, various gems you always use, etc).

Then you add app.rake so you can clone it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: