I got started with "automated Rails development" (as you call it) using Michael Bleigh's RailsWizard. He built it at RailsRumble 2010 as a website that generates Rails apps. I forked it as Rails Composer when the project was abandoned, and developed it further, purely as a command-line tool. It's been the most popular project I've worked on in the Rails community, and also more work than I ever expected.
I've had a huge community supporting Rails Composer as an open source project so I get a reliable stream of issue reports and pull requests. And I've built a business model to fund the project, by asking supporters to pay $19/mo, and offering my in-depth Rails tutorials as a reward for subscribers. That's the RailsApps project [http://railsapps.github.io/].
Rails Composer is popular because developers really like a tool to build starter apps, and it's a lot of work because changes to Rails and gems constantly introduce entropy. I think you'll face a similar challenge with Prelang, maintaining the product as gems change. Developers want an automated Rails development tool because a good starter app will give them a reference implementation, code that is properly configured and guaranteed to work with the latest versions of all the popular gems. You'll have to keep checking and tweaking as gems and Rails versions change. That job will be easier if you limit the starter app to use only the most popular stack and a small set of popular gems, as you've done so far. You'll also need to monetize the project to be able to maintain it (I doubt it can succeed as a spare-time project). As a gauge of time required, I work fulltime on RailsApps, splitting my time between developing Rails Composer and writing the tutorials for the project's supporters.
Erik, I hope you do well with Prelang. You've created a beautiful interface, the project is ambitious, and judging by Rails Composer, developers will want it.
I definitely hear you on the Gem volatility and agree on monetization. Eventually, I'd like to have a team working full time on the builder in addition to user-contributed features. Surely, it's a headache to think about hundreds of features past what Prelang has now but I believe it's doable with the proper architecture.
All the best.
Some notes:
* Project generation with most of the features and a couple models is taking a really long time. I'm sure it's a background job, and I could walk away if I wanted to, but it'd be nice to know that the system would email me to let me know when it was done
* Sometimes UI widgets flicker when switching between sections. I'm guessing a lot of those styles are being added with Javascript, not CSS? You might consider switching to a CSS framework that gives you a good look and feel, but doesn't have to call some JS function to apply styles.
* The auto-capitalization on model names, and auto-lowercasization (?) on field names, was a nice touch, and made me feel happy about the product.
* It would be really cool if users could write and submit plugins / hooks. I'd be interested in background jobs that weren't DelayedJob, and deployments that weren't Heroku, for instance.
* I'm guessing that "public repos only" is a temporary feature, because GitHub doesn't have a way to authorize an app to write only to certain private repos, correct? Because most of my work is on private repos, and I can't see my organization using something like this without the ability to create projects (even scaffolds) privately
* A feature for Vagrant would be nice :-)
I'll be watching this! We've currently got several people switching from ColdFusion to Rails; they're good programmers, but they don't know the ecosystem or the conventions. This gives them a really good starting place. Thanks for sharing.
Edit: Also, this is the first time I've seen app/views/elements/, and I'm kinda pissed I haven't thought of using a different directory for partial layouts before. Now I've got some app/views/layouts/ directories to clean up...
* Email on generation is a good idea. Also, I don't have a Gem cache system yet which will help.
* Flickering is because some of the inputs have to compute a lot of values @ Backbone model layer. Definitely opportunity for optimization.
* Thanks :)
* A lot of users have asked for user contributed features. The problem is it's hard to extract an API from my generation system but I hope to in the future.
* Very doable. I just haven't written private repo support in because I'd have to deal a lot of auth/selection issues which isn't a priority right now.
* Vagrant would be great.
For a lot of these, I just don't have time yet but all candidates for the future.
Thanks again.
Uses the latest Rails and clean code generation. Well done!
If you're curious see here: https://github.com/sergiotapia/prelangtest
I'll use to launch my next project because Facebook+Email authentication is a pain in the ass to implement.
came across this one today which is trying to doing something similar also
mongoid support would be highly appreciated :)
Please read the new Show HN guidelines: https://news.ycombinator.com/showhn.html. Landing pages and email signups are explicitly excluded. But when your work is ready for people to play with, please come back and do a Show HN then!