Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Map a file directory to a CouchDB / Cloudant instance.
branch: master

update travis testing versions

latest commit 183a347647
Maximiline Thayer authored


Build Status Coverage Status Stories in Ready NPM version

Maps a file directory to a CouchDB / Cloudant database. Which is to say, it's an open-source Dropbox.


sudo npm install -g quilter
quilt sync --local {folder} --remote {url} --watch

That's it! Quilter will watch files on the remote database and in the local folder, and will sync any changes that occur. To save that command for the future, use --save:

quilt sync --local {folder} --remote {url} --watch --save
quilt # runs all saved jobs


  • pull: pull files from remote into local
  • push: push files from local up to remote
  • sync: push and pull files from and to local and remote
  • (default): run all saved jobs
  • jobs: list all saved jobs


  • --local: a local folder, like ~/Pictures.
  • --remote: a remote database, like a CouchDB or Cloudant instance.
  • --save: save the given command for later re-use.
  • --watch: continue watching and reacting to changes indefinitely.
  • --config: path to a non-default file to use for saving and reading configuration values.
  • --log: indicates level for logging. Choose from error, warn, info, verbose, debug, and silly.

Quilting on Startup

N.B. These instructions are for *nix systems, like Linux and Mac OS X

Using forever and cron, you can set Quilter to run on a regular basis. Like this:

sudo npm install -g forever
echo '@reboot' `which node` `which forever` '--minUptime 1' `which quilt` '--log info' | crontab

That'll run all saved jobs whenever your computer starts. If Quilter fails, forever will restart it.


By default, jobs are saved to ~/.quilt.json. It's just JSON, so you can edit it as you please. If it becomes invalid JSON, Quilter will get angry. Here's an example config file:

    command: 'pull',
    local: 'testbutt',
    remote: 'http://localhost:5984/eggchair'


The tests sync data with a live CouchDB instance running at http://localhost:5984. So, to run the tests, make sure you have an instance listening at that URL.

To run the tests, do npm test.

Something went wrong with that request. Please try again.