krz/yoshi-cli
A password manager for the command line.
clone: git clone https://gitbay.org/krz/yoshi-cli.git
v0.2.2: README.md · raw
1# Yoshi: A Password Manager
2
3A simple command-line pass manager, writtin in Python + SQLite3. This tool
4allows you to manage accounts and generate random passwords containing ASCII
5letters, numbers, and punctuation (min. 8 characters) or XKCD-like passphrases
6(min. 3 words).
7
8See the Installation & Usage sections below for more information.
9
10# Table of Contents
11
12- [Installation](#installation)
13- [Usage](#usage)
14 - [Arguments](#arguments)
15- [Contributing](#contributing)
16
17# Installation
18
19[(Back to top)](#table-of-contents)
20
21## PyPi
22
23```bash
24pipx install yoshi-cli
25```
26
27## Manual
28
29To run the script locally, run the following commands:
30
31```bash
32git clone REPO_URL
33cd yoshi-cli
34pipx install .
35```
36
37
38
39# Usage
40
41[(Back to top)](#table-of-contents)
42
43All commands can be passed to the program with the following template:
44`yoshi <COMMAND> <FLAG> <PARAMETER>`
45
46
47
48## Arguments
49
50### Summary
51
52<table>
53 <thead>
54 <tr>
55 <td><b>Argument</b></td>
56 <td><b>Shortcut</b></td>
57 <td><b>Explanation</b></td>
58 </tr>
59 </thead>
60 <tbody>
61 <tr>
62 <td>--help</td>
63 <td>-h</td>
64 <td>Print the welcome message</td>
65 </tr>
66 <tr>
67 <td>--new</td>
68 <td>-n</td>
69 <td>Create a new account</td>
70 </tr>
71 <tr>
72 <td>--list</td>
73 <td>-l</td>
74 <td>List all saved accounts</td>
75 </tr>
76 <tr>
77 <td>--edit</td>
78 <td>-e</td>
79 <td>Edit a saved account (see below for required flags)</td>
80 </tr>
81 <tr>
82 <td>--delete</td>
83 <td>-d</td>
84 <td>Delete a saved account (see below for required flags)</td>
85 </tr>
86 <tr>
87 <td>--purge</td>
88 <td>N/A</td>
89 <td>Purge all accounts and delete the vault</td>
90 </tr>
91 <tr>
92 <td>--encrypt</td>
93 <td>N/A</td>
94 <td>Encrypt the vault database (see below for required flags)</td>
95 </tr>
96 <tr>
97 <td>--decrypt</td>
98 <td>N/A</td>
99 <td>Decrypt the vault database (see below for required flags)</td>
100 </tr>
101 </tbody>
102</table>
103
104#### Flags
105
106Flags for the `edit`, `e` command - both are required:
107
108<table>
109 <thead>
110 <tr>
111 <td><b>Argument</b></td>
112 <td><b>Shortcut</b></td>
113 <td><b>Explanation</b></td>
114 </tr>
115 </thead>
116 <tbody>
117 <tr>
118 <td>--uuid</td>
119 <td>-u</td>
120 <td>Provide the account UUID to edit</td>
121 </tr>
122 <tr>
123 <td>--field</td>
124 <td>-f</td>
125 <td>Provide the account field to edit</td>
126 </tr>
127 </tbody>
128</table>
129
130Flags for the `delete`, `d` command - this flag is required:
131
132<table>
133 <thead>
134 <tr>
135 <td><b>Argument</b></td>
136 <td><b>Shortcut</b></td>
137 <td><b>Explanation</b></td>
138 </tr>
139 </thead>
140 <tbody>
141 <tr>
142 <td>--uuid</td>
143 <td>-u</td>
144 <td>Provide the account UUID to delete</td>
145 </tr>
146 </tbody>
147</table>
148
149Flags for the `encrypt` or `decrypt` command - you must provide at least one
150when encrypting, none are required when decrypting:
151
152<table>
153 <thead>
154 <tr>
155 <td><b>Argument</b></td>
156 <td><b>Shortcut</b></td>
157 <td><b>Explanation</b></td>
158 </tr>
159 </thead>
160 <tbody>
161 <tr>
162 <td>--generate</td>
163 <td>-g</td>
164 <td>When encrypting, generate a new key</td>
165 </tr>
166 <tr>
167 <td>--keyfile</td>
168 <td>-k</td>
169 <td>When encrypting or decrypting, provide the path to a saved key file</td>
170 </tr>
171 </tbody>
172</table>
173
174
175
176# Contributing
177
178[(Back to top)](#table-of-contents)
179
180Any and all contributions are welcome. Feel free to fork the project, add
181features, and submit a pull request.