pants_store/lib.rs
1//! A password manager, as of right now it is command line only
2//!
3//! The interface works by allowing you to encrypt your data with a master password as most
4//! password managers do.
5//!
6//! On the first creatiion of a vault it will prompt you for a master password to use. If there is
7//! a need to rotate the master password the `rotate` command is provided, updating the vaults
8//! password to the new master password and creating a backup of the old vault if you need to
9//! restore the previous password.
10//!
11//! Whenever pulling a password out of the vault it will copy it to your clipboard for a few
12//! seconds and then attempt to restore the previous contents of your clipboard to prevent
13//! unintentional pastes of the password.
14//!
15//!
16//! # Examples
17//!
18//! The basic interface operates around `new`, `get`, `update`, and `delete`.
19//!
20//! ## New
21//!
22//! Creating a new `password` or `username-password` combo.
23//! ```bash
24//! $ pants new password test
25//! > Generate password? Yes
26//! > Length of password? 32
27//! > Use uppercase letters? Yes
28//! > Use lowercase letters? Yes
29//! > Use numbers? Yes
30//! > Use symbols? Yes
31//! > Vault password: ********
32//! test
33//! password: <Copied to clipboard>
34//! Resetting clipboard
35//! ```
36//!
37//! ```bash
38//! $ pants new username-password check
39//! > Username: me
40//! > Generate password? No
41//! > Password: ********
42//! > Vault password: ********
43//! check
44//! username: me
45//! password: <Copied to clipboard>
46//! Resetting clipboard
47//! ```
48//!
49//! ```bash
50//! $ pants new password removing
51//! > Generate password? Yes
52//! > Length of password? 32
53//! > Use uppercase letters? Yes
54//! > Use lowercase letters? Yes
55//! > Use numbers? Yes
56//! > Use symbols? Yes
57//! > Vault password: ********
58//! removing
59//! password: <Copied to clipboard>
60//! Resetting clipboard
61//! ```
62//!
63//! ## Get
64//!
65//! Retrieve an existing entry
66//! ```bash
67//! $ pants get test
68//! > Vault password: ********
69//! test
70//! password: <Copied to clipboard>
71//! Resetting clipboard
72//! ```
73//!
74//! ## Update
75//!
76//! Update an existing entry.
77//! ```bash
78//! $ pants update check
79//! > Username: mine
80//! > Generate password? Yes
81//! > Length of password? 32
82//! > Use uppercase letters? Yes
83//! > Use lowercase letters? Yes
84//! > Use numbers? Yes
85//! > Use symbols? Yes
86//! > Vault password: ********
87//! check
88//! username: mine
89//! password: <Copied to clipboard>
90//! Resetting clipboard
91//! ```
92//!
93//! ## Delete
94//!
95//! Remove an entry
96//! ```bash
97//! $ pants delete removing
98//! > Vault password: ********
99//! Nothing read from vault
100//! ```
101//!
102//! ## List
103//!
104//! For convenience you can list the existing entries and their type with `list`.
105//! ```bash
106//! $ pants list
107//! Available entries:
108//! - check: username-password
109//! - test: password//! $ pants list
110//! ```
111//!
112//! # Other commands
113//!
114//! Other commands include:
115//! - backup: creates a backup of the current vault
116//! - gen: exposes the password generator in [pants-gen](https://docs.rs/pants-gen/)
117pub mod action;
118pub mod cli;
119pub mod command;
120pub mod errors;
121pub mod file;
122pub mod operation;
123pub mod output;
124pub mod reads;
125pub mod schema;
126pub mod secure;
127pub mod store;
128pub mod utils;
129pub mod vault;
130pub mod vault_encrypted;