TL;DR +1 for including erica[1] into CouchDB proper. To summarise a bit:
There are about 3 key things that all couchy tools do [1]….[5]: - transform local js and erlang functions in separate files, into design doc format - include necessary libraries and attachments into those ddocs - upload that ddoc into CouchDB and optionally: - support cloning ddocs (downloading and reversing the transformation) - pushing arbitrary json docs with optional attachments - pre/post hooks to minify, uglify, etc - package mgmt - keep some local state & store it in the ddoc to avoid unnecessary transfer of attachments We need to make the first steps when moving past using futon as easy as possible, and consistent across platforms, with a minimal tooling requirement. Node is awesome but is moving way too fast, and erlang is the logical next choice. If Benoit is willing, a slimmed down erica[1] code could be included into CouchDB proper, or at least blessed as the canonical version. It's in erlang, & with some rebar magic you have a stand-alone escript that can be located anywhere in your path. The only additional code I'd like to see is that it supports multiple ddocs, and handle uploading normal docs as well as ddocs. Personally, I only really understood ddocs after using CouchDB for quite a while. I suspect I am not alone in this! [1]: https://github.com/benoitc/erica [2]: https://github.com/mikeal/node.couchapp.js [3]: https://github.com/kanso/kanso [4]: http://reupholster.iriscouch.com/reupholster/_design/app/index.html [5]: https://github.com/quirkey/soca A+ Dave
