sefy-cli 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +35 -0
  2. package/package.json +43 -28
package/README.md CHANGED
@@ -106,6 +106,21 @@ error: 2 items match "ma":
106
106
  narrow the text, or use an id
107
107
  ```
108
108
 
109
+ Two machines, two copies, both edited? Fold one into the other. Where they
110
+ disagree about the same item, sefy keeps both versions rather than letting a
111
+ timestamp decide which password you get to keep:
112
+
113
+ ```
114
+ $ sefy merge ~/from-laptop.bak
115
+ Password for /home/you/from-laptop.bak:
116
+ merged: 1 added, 1 updated, 1 unchanged
117
+
118
+ 1 item changed on both sides and could not be resolved here.
119
+ This vault's version was kept; the incoming one is beside it:
120
+ "mail" → also kept as "mail (conflicted copy)"
121
+ Compare them, keep the right one, and remove the other.
122
+ ```
123
+
109
124
  A vault is never a trap. `sefy export` writes everything back out as plain
110
125
  JSON - which is exactly as sensitive as the vault and protects nothing, so the
111
126
  command makes you say so out loud:
@@ -137,6 +152,18 @@ Details and rationale: [ADR-0001](https://github.com/lacodda/sefy/blob/main/docs
137
152
 
138
153
  ## Install
139
154
 
155
+ **One-line installers.** Windows (PowerShell):
156
+
157
+ ```powershell
158
+ irm https://raw.githubusercontent.com/lacodda/sefy/main/tools/install.ps1 | iex
159
+ ```
160
+
161
+ macOS / Linux:
162
+
163
+ ```bash
164
+ curl -fsSL https://raw.githubusercontent.com/lacodda/sefy/main/tools/install.sh | sh
165
+ ```
166
+
140
167
  **cargo** - `cargo install sefy`
141
168
 
142
169
  **npm** - `npm install -g sefy-cli`
@@ -145,6 +172,9 @@ Details and rationale: [ADR-0001](https://github.com/lacodda/sefy/blob/main/docs
145
172
  (Windows x86_64, Linux x86_64, macOS arm64), unpack and put `sefy` on your
146
173
  `PATH`.
147
174
 
175
+ Both installers take the newest release by default; set `SEFY_VERSION` to a tag
176
+ to pin one, and `SEFY_INSTALL_DIR` to choose where the binary lands.
177
+
148
178
  Shell completions: `sefy completions bash` (also `zsh`, `fish`, `powershell`,
149
179
  `elvish`).
150
180
 
@@ -155,6 +185,11 @@ will stay readable: any future change to the format arrives as version 2, able
155
185
  to read version 1 and migrate it. The Argon2 parameters are part of that
156
186
  promise, not a tuning knob.
157
187
 
188
+ The database inside the ciphertext is versioned separately, and it does move:
189
+ 0.2.0 added an identity to items so two copies of a vault can be merged. A vault
190
+ from 0.1.x opens, is migrated on the way in, and is still readable by 0.1.x
191
+ afterwards - the file on disk did not change shape.
192
+
158
193
  Released versions and what landed in each: [CHANGELOG on the Releases page](https://github.com/lacodda/sefy/releases).
159
194
 
160
195
  ## Building
package/package.json CHANGED
@@ -1,28 +1,43 @@
1
- {
2
- "name": "sefy-cli",
3
- "version": "0.1.2",
4
- "sefy": {
5
- "binary": "v0.1.2"
6
- },
7
- "description": "An inconspicuous encrypted store for notes, credentials and files",
8
- "license": "MIT",
9
- "author": "Kirill Lakhtachev <lahtachev@gmail.com> (https://lacodda.com)",
10
- "homepage": "https://lacodda.github.io/sefy/",
11
- "repository": {
12
- "type": "git",
13
- "url": "git+https://github.com/lacodda/sefy.git"
14
- },
15
- "keywords": ["cli", "secrets", "password-manager", "encryption", "vault"],
16
- "bin": {
17
- "sefy": "run.js"
18
- },
19
- "files": ["download.js", "install.js", "run.js", "README.md"],
20
- "scripts": {
21
- "prepack": "node -e \"require('fs').copyFileSync('../README.md','README.md')\"",
22
- "postinstall": "node install.js"
23
- },
24
- "os": ["win32", "darwin", "linux"],
25
- "engines": {
26
- "node": ">=18"
27
- }
28
- }
1
+ {
2
+ "name": "sefy-cli",
3
+ "version": "0.2.0",
4
+ "sefy": {
5
+ "binary": "v0.2.0"
6
+ },
7
+ "description": "An inconspicuous encrypted store for notes, credentials and files",
8
+ "license": "MIT",
9
+ "author": "Kirill Lakhtachev <lahtachev@gmail.com> (https://lacodda.com)",
10
+ "homepage": "https://lacodda.github.io/sefy/",
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/lacodda/sefy.git"
14
+ },
15
+ "keywords": [
16
+ "cli",
17
+ "secrets",
18
+ "password-manager",
19
+ "encryption",
20
+ "vault"
21
+ ],
22
+ "bin": {
23
+ "sefy": "run.js"
24
+ },
25
+ "files": [
26
+ "download.js",
27
+ "install.js",
28
+ "run.js",
29
+ "README.md"
30
+ ],
31
+ "scripts": {
32
+ "prepack": "node -e \"require('fs').copyFileSync('../README.md','README.md')\"",
33
+ "postinstall": "node install.js"
34
+ },
35
+ "os": [
36
+ "win32",
37
+ "darwin",
38
+ "linux"
39
+ ],
40
+ "engines": {
41
+ "node": ">=18"
42
+ }
43
+ }