lich 0.1.0

Minimal password management.
Documentation
# :key: lich

An extremely minimal command-line password manager.

- [Quick Start]#quick-start
- [Usage]#usage
- [Library Documentation]https://docs.rs/lich
- [Is it secure?]#is-it-secure
- [Building]#building

Made with :tea: + :heart: by quadrupleslap. Any contributions welcome!

## Quick Start

This example uses [`fzf`](https://github.com/junegunn/fzf) for fuzzy-searching.

```bash
# Install it. Right now you'll have to build it yourself, but maybe one day this'll work!
brew install lich
# Choose a file location. This one's the default.
export LICH=$HOME/.lich
# Initialize.
lich init
# Set a password.
lich set github
# Fuzzy-select an entry and copy it to the clipboard.
lich get $(lich list | fzf) | pbcopy
# Or just get it the old-fashioned way.
lich get github
# Perhaps, in a fit of sheer madness, you switch to BitBucket.
lich delete github
```

## Usage

```
USAGE:
    lich <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    delete    Remove a password
    get       Get a password
    help      Prints this message or the help of the given subcommand(s)
    init      Initialises the password store
    list      List places
    rekey     Change the master password
    set       Change a password
```

## Is it secure?

Probably! It uses `AES-256-GCM` to store the passwords, encrypted with a randomly generated encryption key, which is in turn encrypted with the user's selected password. Any help verifying the code would be highly appreciated, though! :wink:

## Building

```bash
git clone https://github.com/quadrupleslap/lich
cd lich
cargo build --release --bin cli --all-features
```