Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 docs
Octocat-spinner-32 lib
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 Makefile
Octocat-spinner-32 README.markdown
Octocat-spinner-32 package.json

CoffeeApp -- coffee-script wrapper for CouchApp


Prerequisites: CouchApp (pip install couchapp) couchdb (pip install couchdb) - used for dump / restore requires Node.js ( - tested on v0.2.6 Npm (

Get CoffeeApp:

git clone git://

Build CoffeeApp:

cd coffeeapp && make && sudo make install

Installing with npm

npm install coffeeapp

Or, get the code, and npm link in the code root.

Basic usage

coffeeapp [couchapp options] | [wrapped options]

Example usage

without compilation errors:

$ coffeeapp push

CoffeeApp (v1.1.0) - simple coffee-script wrapper for CouchApp (

Wrapping 'push' of couchapp
preparing .releases/20101008202459 release...
 * processing filters/

2010-10-08 20:25:04 [INFO] Visit your CouchApp here:

with errors, all generated files have in content '...' which should be replaced by real code - this helps to keep clean project ;) :

$ coffeeapp push
CoffeeApp (1.1.0) - simple coffee-script wrapper for CouchApp (

Wrapping 'push' of couchapp
Database : 'default'
making dump: .dumps/default/20101202172115
 * linking dump: .dumps/default/20101202172115 -> .dumps/default/last
preparing release: .releases/20101202172115
 * processing views/coffewview/
Compilation Error: Parse error on line 1: Unexpected '.'

using coffee generators

$ coffeeapp cgenerate view myview

CoffeeApp (v1.1.0) - simple coffee-script wrapper for CouchApp (

Running CoffeeApp 'view' generator...
 * creating myview/
 * creating myview/

using prepare command:

$ coffeeapp prepare
CoffeeApp (v1.1.0) - simple coffee-script wrapper for CouchApp (

preparing project:
 * creating .gitignore...

using clean command:

$ coffeeapp clean
CoffeeApp (v1.0.5) - simple coffee-script wrapper for CouchApp (

cleaning up:
 * remove '.releases' ...

using restore - available only when using make_dumps in .couchapprc

CoffeeApp (1.1.0) - simple coffee-script wrapper for CouchApp (

 * restoring dump from .dumps/default/last to database:

using help command:

$ coffeeapp help

CouchApp Help here ...

CoffeeApp (1.1.0) - simple coffee-script wrapper for CouchApp (

Usage: coffeeapp [OPTIONS] [CMD] [CMDOPTIONS] [ARGS,...]

        help      [OPTIONS]...
                  show this message

        cgenerate [OPTIONS]...
                  [ view | list | show | filter ] generate .coffee versions

        destroy   [OPTIONS]...
                  [ view | list | show | filter ] destroy (remove directory/files also .js files).

        prepare   [OPTIONS]...
                  prepare (.gitignore...)

        clean     [OPTIONS]...
                  remove .releases & .dumps directories

        restore   [OPTIONS]...
                  restore database from .dumps/last

using make_dump option in .couchapprc

  "env" : {
    "default" : {
      "db" : "",
      "make_dumps": true

using makeReleaseVersions and designdocName options in .couchapprc for controlling whether a unique release with a timestamp is pushed or an update to a static design document. designdocName has the default value "app".

  "env" : {
    "default" : {
      "db" : "http://localhost:5984/default",
      "make_dumps": false
  "makeReleaseVersions": false,
  "designdocName": "Proggis"


CoffeeApp is a simple wrapper for couchapp command. CoffeeApp override normal push behavoir, by adding '.releases' directory which contain deployment snapshots (timestamped). While files are copied to release snapshot... coffee-script files (.coffee) are converted on the fly to java-script (.js) files.

'.releases' directory should be added to .gitignore or .hgignore or whatever you have using to prevent versioning.


  • add coffeescript project initialization(install compressed coffeescript for frontend, add gitignores and etc..)
  • add application testing stuff - still open how to do that


Andrzej Sliwa,


Josh Bohde, Szaby Grünwald,

Something went wrong with that request. Please try again.