An open API service indexing awesome lists of open source software.

https://github.com/tmpfs/rlx

Command line interface for couchdb
https://github.com/tmpfs/rlx

cli couchdb database

Last synced: 3 months ago
JSON representation

Command line interface for couchdb

Awesome Lists containing this project

README

          

Table of Contents
=================

* [rlx](#rlx)
* [Install](#install)
* [Quick Start](#quick-start)
* [Documentation](#documentation)
* [Usage](#usage)
* [Developer](#developer)
* [Test](#test)
* [Environment](#environment)
* [Coverage](#coverage)
* [Documentation](#documentation-1)
* [Manual](#manual)
* [Lint](#lint)
* [Readme](#readme)
* [Cheatsheet](#cheatsheet)

rlx
===

[Build Status](https://travis-ci.org/tmpfs/rlx)
[npm version](https://npmjs.org/package/rlx)
[Coverage Status](https://coveralls.io/github/tmpfs/rlx?branch=master).

Command line interface for [couchdb](http://couchdb.apache.org) designed for POSIX systems.

Requires [node](http://nodejs.org) and [npm](http://www.npmjs.org).

## Install

```
npm i -g rlx
```

## Quick Start

Start [couchdb](http://couchdb.apache.org) in it's default configuration, then run:

```
rlx i # Launch interactive console
cd :lh # Use alias to `cd http://localhost:5984`
db ls # List databases
db add mydb # Create database
cd mydb # Use new database
doc add -i mydoc # Create a new document
doc edit mydoc # Edit document with `vim`
doc get mydoc # Print modified and saved document
help # Learn more commands in the manual
q # Quit interactive session
```

## Documentation

The documentation for the program is available via the `help` command, for those familiar with [couchdb](http://couchdb.apache.org) the [cheatsheet](https://github.com/tmpfs/rlx/blob/master/doc/cheatsheet.md) is a good place to start.

## Usage

```
Usage: rlx

where is one of:
admin, alias, as, application, app, attach, att, batch,
bulk, config, conf, database, db, document, doc, edit, help,
http, tt, info, interactive, i, json, j, level, lvl, lint,
local, lcl, log, login, in, logout, out, runconf, rc,
replicate, repl, restart, security, sec, session, sess,
stats, system, sys, tasks, tpl, user, usr, uuids, whoami

rlx --help quick help on
rlx help documentation for
rlx i launch interactive console

rlx@0.3.2 /home/muji/git/rlx
```

## Developer

Developed against `couchdb@1.6.0`, behaviour in earlier versions is undefined.

### Test

Tests require a clean [couchdb](http://couchdb.apache.org) installation running in *admin party* mode.

```
npm test
```

If an rc file is present (`~/.rlx/.rlxrc`) the tests may fail as the default configuration is required you should ensure this file does not exist before running tests.

Quick test executes commands in series but bypasses code coverage and test assertions:

```
npm run qt
```

#### Environment

* `rlx_test_server` - Specify the server to run tests against, default is `http://localhost:5984`.

### Coverage

To run test specs and generate code coverage:

```
npm run cover
```

### Documentation

To generate all documentation (manual, readme, cheatsheet etc):

```
npm run docs
```

### Manual

To generate man pages run (requires [manpage](https://github.com/cli-kit/cli-manpage)):

```
npm run manual
```

Generated man pages are in the [man](https://github.com/tmpfs/rlx/blob/master/doc/man) directory, to dynamically generate man pages set `NODE_ENV` to `devel` and execute the help command:

```
NODE_ENV=devel ./bin/rlx help db
```

### Lint

Run the source tree through [jshint](http://jshint.com) and [jscs](http://jscs.info):

```
npm run lint
```

### Readme

To build the readme file from the partial definitions (requires [mdp](https://github.com/tmpfs/mdp)):

```
npm run readme
```

### Cheatsheet

To generate the cheatsheet (requires [mdp](https://github.com/tmpfs/mdp)):

```
npm run cheatsheet
```

Generated by [mdp(1)](https://github.com/tmpfs/mdp).

[couchdb]: http://couchdb.apache.org
[node]: http://nodejs.org
[npm]: http://www.npmjs.org
[man]: https://github.com/tmpfs/rlx/blob/master/doc/man
[mdp]: https://github.com/tmpfs/mdp
[manpage]: https://github.com/cli-kit/cli-manpage
[jshint]: http://jshint.com
[jscs]: http://jscs.info