# @gnosec/pw

> Intuitive cross-platform command line password manager

Latest version **1.0.0-rc1** (published 2018-10-07) · GPL-3.0-only license · 0 weekly downloads

## Install

```sh
npm install @gnosec/pw
pnpm add @gnosec/pw
yarn add @gnosec/pw
bun add @gnosec/pw
```

Provides the command `pw`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0-rc1 |
| Published | 2018-10-07 |
| First published | 2018-10-07 |
| Weekly downloads | 0 |
| License | GPL-3.0-only |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 13 |
| Unpacked size | 106.2 KB |
| Known vulnerabilities | 0 (+3 in 2 direct dependencies) |
| Install scripts | no |
| GitHub stars | 0 |
| Author | gnosec |
| Maintainers | gnosec |

## Links

- npm: https://www.npmjs.com/package/@gnosec/pw
- Repository: git@github.com/gnosec/pw
- Homepage: https://github.com/gnosec/pw
- Issues: https://github.com/gnosec/pw/issues
- npm.io page: https://npm.io/package/@gnosec/pw

## Dependencies (13)

- [chalk](https://npm.io/package/chalk.md) ^2.3.2
- [lodash](https://npm.io/package/lodash.md) ^4.17.11
- [mkdirp](https://npm.io/package/mkdirp.md) ^0.5.1
- [semver](https://npm.io/package/semver.md) ^5.5.0
- [vorpal](https://npm.io/package/vorpal.md) ^1.12.0
- [request](https://npm.io/package/request.md) ^2.88.0
- [treeify](https://npm.io/package/treeify.md) ^1.1.0
- [date-fns](https://npm.io/package/date-fns.md) ^1.29.0
- [inquirer](https://npm.io/package/inquirer.md) ^6.2.0
- [commander](https://npm.io/package/commander.md) ^2.15.0
- [crypto-js](https://npm.io/package/crypto-js.md) ^3.1.9-1
- [copy-paste-win32fix](https://npm.io/package/copy-paste-win32fix.md) ^1.4.0
- [get-parameter-names](https://npm.io/package/get-parameter-names.md) ^0.3.0

## Recent versions

- 1.0.0-rc1 (latest) — 2018-10-07

## README

[![Build Status](https://travis-ci.org/gnosec/pw.svg?branch=develop)](https://travis-ci.org/gnosec/pw)
[![dependencies Status](https://david-dm.org/gnosec/pw/status.svg)](https://david-dm.org/gnosec/pw)
[![devDependencies Status](https://david-dm.org/gnosec/pw/dev-status.svg)](https://david-dm.org/gnosec/pw?type=dev)
[![Coverage Status](https://coveralls.io/repos/github/gnosec/pw/badge.svg?branch=develop)](https://coveralls.io/github/gnosec/pw?branch=develop)
[![NSP Status](https://nodesecurity.io/orgs/gnosec/projects/62943e06-a954-435c-ada2-4681479f7df2/badge)](https://nodesecurity.io/orgs/gnosec/projects/62943e06-a954-435c-ada2-4681479f7df2)

# PW

A simple and intuitive cross-platform command-line password manager.

## Usage

```bash
$ pw --help

  Usage: pw <file>

  Options:

    -V, --version  output the version number
    -h, --help     output usage information

$ pw passwords-file
? File "passwords-file" does not exist. Do you want to create it? Yes
? Create master password: [hidden]
? Confirm master password: [hidden]
password-file$ help

  Commands:

    help [command...]        Provides help for a given command.
    exit                     Exits application.
    change-master-password   Changes the master password of the file
    cp <key> <newKey>        Copies a key-value pair
    echo <key> [index]       Prints the value for the given key
    export                   Copies all password safe data to the clipboard in JSON format
    gen [options] [key]      Generates a password and copies it to the clipboard. If a key is provided, the password will be stored as the value of that key.
    get <key> [index]        Copies the value of the given key to the clipboard
    history <key>            Prints all historical values for a given key and the date and time they were entered
    ls [search]              Prints all keys alphabetically and filtered by the search word
    mv <key> <newKey>        Renames a key
    rm <key>                 Removes a key value pair
    set <key> [value]        Sets a key-value pair. The value will be prompted for if not provided
    tree [search]            Prints all keys alphabetically in a tree format and filters them the search word

passwords-file$ gen mybank.password
passwords-file$ echo mybank.password
c*U6FbTqVELRPaB!%sFf.2~LIOn[;ori'
```

## Commands under consideration

1. Save command
1. Undo command
1. Custom cryptography algorithm option on invocation "pw --algorithm AES my-passwords"

## Installation

```bash
# Download code
git clone git@github.com/gnosec/pw
cd pw

# Build from source
npm run build

# Mac OS
mv bin/pw-macos /usr/local/bin/pw

# Linux
echo "export PATH=\$PATH:/pw/parent/dir" >> ~/.bashrc && source ~/.bashrc

# Windows
setx path "%path%;pw/parent/dir"
```

## Development

Prerequisites

1. node.js/npm
1. typescript + ts-node

```bash
npm install -g typescript ts-node
```

Set up for continuous development

```bash
git clone git@github.com/gnosec/pw
cd pw
npm install && npm link
pw
```

---
_Source: https://npm.io/package/@gnosec/pw · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
