3 [![Build Status](https://secure.travis-ci.org/remotestorage/remotestorage.js.png)](http://travis-ci.org/remotestorage/remotestorage.js)
4 [![devDependency Status](https://david-dm.org/remotestorage/remotestorage.js/dev-status.png)](https://david-dm.org/remotestorage/remotestorage.js#info=devDependencies)
5 [![Code Climate](https://codeclimate.com/github/remotestorage/remotestorage.js.png)](https://codeclimate.com/github/remotestorage/remotestorage.js)
7 remoteStorage.js is a JavaScript library for storing user data locally in the
8 browser, as well as connecting to [remoteStorage](http://remotestorage.io)
9 servers and syncing data across devices and applications.
11 ### Where to get help?
13 * See [remotestorage.io](http://remotestorage.io/) for documentation, community
15 * Get instant support via IRC in
16 [#remotestorage](irc://irc.freenode.net:7000/remotestorage) on Freenode
18 ### Running a local test server
20 To develop remoteStorage-enabled apps, you need to have a
21 remoteStorage-compatible storage account. We recommend
22 [reStore](https://github.com/jcoglan/restore) for running a local test server.
23 (Use the latest version from GitHub, not npm!)
25 You can also get an account with a hoster, or use one of the various other
26 remoteStorage server implementations:
27 [get storage](http://remotestorage.io/get/).
29 ### Which version to choose?
31 You can either use a stable release or the current HEAD build. Stable releases
32 can be found in [release/](https://github.com/remotestorage/remotestorage.js/tree/master/release/).
33 Directories with a `-rcX` suffix contain release candidates, which may be used
34 for testing but aren't necessarily "stable" releases.
36 [release/head](https://github.com/remotestorage/remotestorage.js/tree/master/release/head/)
37 contains a semi-current HEAD build. It is updated manually and irregularly. To
38 build an up-to-date version of all files, run `make all` in the repository
41 ### Which build file to use for my app?
43 There are a number of different builds available:
45 * <kbd>remotestorage.js</kbd> - Contains all components of remotestorage.js for
47 * <kbd>remotestorage.amd.js</kbd> - The same as remotestorage.js, but wrapped
49 [AMD](https://en.wikipedia.org/wiki/Asynchronous_module_definition) loaders
50 such as [RequireJS](http://requirejs.org/).
51 * <kbd>remotestorage.min.js</kbd> - Minified version of remotestorage.js
52 * <kbd>remotestorage-nocache.js</kbd> - Contains a version of remotestorage.js
53 without any caching features included. Use this if you want your app to write
54 directly to the remote server **without caching** any data in the browser's
55 storage (localStorage or indexedDB).
56 * <kbd>remotestorage-nocache.amd.js</kbd>,
57 <kbd>remotestorage-nocache.min.js</kbd> - same as the other .amd / .min
58 build, but based on remotestorage-nocache.js.
62 Install development dependencies including the
63 [testing framework](https://github.com/silverbucket/teste):
71 Use the `teste` executable in order to test single files, like so e.g.:
73 node_modules/.bin/teste test/unit/baseclient-suite.js
77 Make sure you have [Natural Docs](http://www.naturaldocs.org/) installed on
78 your system (e.g. via `sudo apt-get install naturaldocs`).
80 Display the available build tasks:
90 [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/remotestorage/remotestorage.js/trend.png)](https://bitdeli.com/free "Bitdeli Badge")