I'm an experienced Rails programmer looking at a potential future client project in Node.js.<p>I've played around with node.js a little, using node.js at a very low level (no frameworks, less than 100 LOC).<p>Obviously, that style of development won't work on a real project.<p>Node.js seems to mostly "pick your components and go". (With the exception of maybe Railroad.js). Pick your components is OK with me (I've been doing web work since before Rails got popular, so I'm used to this style).<p>But I also want to make sure my best practices from the Rails world stay with me. Database migrations and testing are a few of the areas where Rails has a clearly defined best practice, but things seem murkier on the node.js side.<p>Also thinking coffeescript, to reduce boilerplate.<p>So, node.js hackers of HN: What are your best practices? For example, what auto-reloading tool do you use? Testing framework? ORM? (or no ORM?), view/template system?<p>Any other advice for a programmer whose been around the block a number of times (C++, Python, Cocoa, Ruby) and wants to start a new node.js project off right?<p>(Book recommendations are also great. I looked at the current crop of books, but I almost want a <i>Rails Recipes</i> or <i>Python Cookbook</i> style of book for node, but don't see one)