rass 0.2.0

A rust implementation for the standard *nix password manager: pass
Documentation
# rass 
[![Build Status](https://travis-ci.org/awidegreen/rass.svg?branch=master)](https://travis-ci.org/awidegreen/rass)

A [password-store](https://www.passwordstore.org/) clone written in Rust. 

The name `rass` is a combination of **r**ust and p**ass** whereas `pass` being 
the command line tool for password-store.

[Documentation](https://awidegreen.github.io/rass/)

## Requirements

Due to `rass` dependency to [rust-gpgme](https://crates.io/crates/gpgme/) you 
need to have a recent version of GPGme installed, 
[see](https://github.com/johnschug/rust-gpgme). 

## Installation

From source:
```shell
$ git clone https://github.com/awidegreen/rass.git
$ cd rass
$ cargo build --release
```

NOTE: Not released on crates.io yet
```shell
$ cargo install rust-rass
```

## Limitations

In comparison to `pass`, `rass` does not support [yet]: 
* no clipboard support
* initialize
* not all environment variables are support
  * supported: `PASSWORD_STORE_DIR`
  * not supported: `PASSWORD_STORE_DIR`, `PASSWORD_STORE_GIT`,
  `PASSWORD_STORE_X_SELECTION`, `PASSWORD_STORE_CLIP_TIME`, 
  `PASSWORD_STORE_UMASK` 
 

## Usage

**Note**: `rass` is not yet able to create and initialize a new password store,
therefore use `pass init <gpg-ide>`. 

As `pass`, `rass` assume that your password store is located in 
`$HOME/.password-store`. If your store is in a different location, set the 
`PASSWORD_STORE_DIR` variable. 

Show the help
```shell
$ rass -h

# some detailed subcommand help
$ rass insert -h
```

List all store entries (subcommand `ls`)
```shell
$ rass 
```

Show an entry
```shell
$ rass PASS_ENTRY
```

Insert a new entry (subcommand `insert` or `add`)
```shell
# single-line
$ rass insert foobar

# multi-line 
$ rass insert -m foobar
```

Dispatch `git` command to rass, executed within the password-store
```shell
# push new entries to origin
$ rass git push origin master

# pull latest changes
$ rass git pull

# show the git log of the password-store
$ rass git log
```

Grep for a string in the password store. 
```shell
# search for "foobar" in the entire store 
$ rass grep foobar
```
For more information see the help: `rass help`

Edit an entry will make use of the `EDITOR` environment variable. If the variable
is not, `vim` will be assumed.

```shell
# edit entry foobar
$ rass edit foobar
```

## ToDo

* subcommands
  * `init`
  * `generate`
  * `mv`
  * `cp`
* some more tests
* a simple CLI UI?


## License

Copyright (C) 2016 by Armin Widegreen

This is free software, licensed under The [ISC License](LICENSE).