Git Product home page Git Product logo

quilter's Introduction

Quilter

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.

Installation

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

Commands

  • 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

Options

  • --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.

Config

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'
  } 
]

Tests

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.

quilter's People

Contributors

garbados avatar radiodario avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.