@rafay99/cvx 0.35.0 → 0.42.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 (3) hide show
  1. package/README.md +18 -3
  2. package/cvx.1 +16 -2
  3. package/package.json +6 -6
package/README.md CHANGED
@@ -10,6 +10,19 @@ You link a project folder to an account **once**. After that, the moment you
10
10
  terminals — each grabs its own account as it launches and they all run at the
11
11
  same time.
12
12
 
13
+ ```
14
+ (◕‿◕)~@ happy — the right account is active
15
+ (⊙︵⊙)~@ alarmed — this project's team doesn't match the account
16
+ (–ᴗ–)ᶻ~@ asleep — the encrypted vault is locked
17
+ (◕‿<)~@ that's `cvx doctor` coming back clean
18
+ ```
19
+
20
+ Meet **Vex**, the account chameleon. A chameleon changes color to match its
21
+ surroundings; cvx changes your account to match your project — so Vex wears
22
+ the **active account's color** and her face reacts to what's going on. Every
23
+ account gets a stable color of its own, used across `accounts`, `ls`, and
24
+ switch messages, so you learn to recognize where you are at a glance.
25
+
13
26
  ## Purpose
14
27
 
15
28
  The Convex CLI only remembers **one** logged-in account at a time — it lives in
@@ -145,6 +158,7 @@ bun run dev # runs as work — both live simultaneously
145
158
  | `cvx refresh <account>` / `--all` | Re-authenticate one account — or every account in one sitting |
146
159
  | `cvx link <account> [path]` | Link a project dir (default cwd) to an account |
147
160
  | `cvx unlink [path]` | Remove a link |
161
+ | `cvx scan [dir] [--depth N] [--yes]` | Auto-discover projects under a dir and link them to accounts by team |
148
162
  | `cvx rename <old> <new>` | Rename an account, keeping its links |
149
163
  | `cvx rm <account>` | Forget an account and its links |
150
164
  | `cvx use [account]` | Activate by name from anywhere — or this dir's account / an interactive pick |
@@ -160,7 +174,7 @@ bun run dev # runs as work — both live simultaneously
160
174
  | `cvx vault <status\|encrypt\|decrypt\|unlock\|lock>` | Passphrase-encrypt stored tokens (unlock once per session) |
161
175
  | `cvx export [file]` / `cvx import <file>` | Encrypted vault backup / restore — new-machine setup in one command |
162
176
  | `cvx upgrade` | Check for a newer release and print the exact upgrade command |
163
- | `cvx doctor` | Check setup + per-account token health |
177
+ | `cvx doctor [--fix]` | Check setup + per-account token health (`--fix` repairs hook/links/marker/tokens) |
164
178
  | `cvx completions <shell>` | Print a completion script (zsh/bash/fish/powershell) |
165
179
  | `cvx hook [--install] [--shell …]` | Install the cd-hook (zsh/bash/fish/nu/powershell) |
166
180
 
@@ -212,8 +226,9 @@ a single binary, so the split costs nothing at build time.
212
226
  bin/cvx.ts entry point + command dispatch
213
227
  src/paths.ts the ONE place HOME is resolved (CVX_HOME sandbox support)
214
228
  src/store.ts data layer: vault I/O, the config swap, token verify
215
- src/ui.ts the logo banner, first-run welcome, help
216
- src/colors.ts the palette (edit here to re-theme)
229
+ src/ui.ts the gradient logo, Vex the mascot, welcome, help
230
+ src/colors.ts the palette: brand gradient + per-account colors (re-theme here)
231
+ src/spinner.ts braille spinner for network waits (TTY only)
217
232
  src/commands.ts one function per subcommand
218
233
  src/hooks.ts zsh / bash / PowerShell shell-hook snippets
219
234
  src/keychain.ts OS keychain / DPAPI token backends
package/cvx.1 CHANGED
@@ -40,6 +40,16 @@ account may be linked to many projects.
40
40
  .B cvx unlink \fR[\fIpath\fR]
41
41
  Remove a link.
42
42
  .TP
43
+ .B cvx scan \fR[\fIdir\fR] [\fB--depth\fR \fIN\fR] [\fB--yes\fR]
44
+ Walk \fIdir\fR (default: the current directory) up to \fIN\fR levels deep
45
+ (default 4), find Convex projects (a directory whose \fI.env.local\fR has a
46
+ \fBCONVEX_DEPLOYMENT\fR line), and propose a link for each whose deployment team
47
+ matches exactly one stored account. Hidden directories and \fBnode_modules\fR are
48
+ skipped, and a project directory is never descended into. In an interactive
49
+ terminal it asks before linking; otherwise \fB--yes\fR is required to apply.
50
+ Already-linked directories are left untouched (a conflicting link is reported,
51
+ never overwritten).
52
+ .TP
43
53
  .B cvx rename \fIold\fR \fInew\fR
44
54
  Rename an account, keeping every link that pointed at it.
45
55
  .TP
@@ -117,11 +127,15 @@ Re-authenticate every stored account in one sitting (a browser sign-in each).
117
127
  Check for a newer cvx release and print the exact upgrade command for how it
118
128
  was installed (Homebrew, npm/bun, or GitHub tarball).
119
129
  .TP
120
- .B cvx doctor \fR[\fB--no-tokens\fR]
130
+ .B cvx doctor \fR[\fB--no-tokens\fR] [\fB--fix\fR]
121
131
  Check your setup and report problems: Node/npx availability, whether you have a
122
132
  Convex login, vault integrity, the token storage backend, the active account,
123
133
  and whether the shell hook is installed. Also pings Convex to check each stored
124
- token's health (skip that with \fB--no-tokens\fR). Exits non-zero on any problem.
134
+ token's health (skip that with \fB--no-tokens\fR). With \fB--fix\fR it repairs
135
+ what it can \(em installs a missing shell hook, prunes dead links, clears a
136
+ stale active marker, and (interactively) offers to re-authenticate rejected
137
+ tokens; problems it fixes no longer force a non-zero exit. Exits non-zero on any
138
+ remaining problem.
125
139
  .TP
126
140
  .B cvx welcome
127
141
  Show the welcome screen again.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rafay99/cvx",
3
- "version": "0.35.0",
3
+ "version": "0.42.0",
4
4
  "description": "Switch Convex accounts per project automatically — run many Convex accounts across projects at once, no login/logout churn, no deploy keys, no tokens in your repos",
5
5
  "keywords": [
6
6
  "convex", "convex-dev", "convex-cli", "cli", "command-line",
@@ -19,10 +19,10 @@
19
19
  "files": ["launcher.cjs", "cvx.1", "README.md", "LICENSE"],
20
20
  "engines": { "node": ">=16" },
21
21
  "optionalDependencies": {
22
- "@rafay99/cvx-darwin-arm64": "0.35.0",
23
- "@rafay99/cvx-darwin-x64": "0.35.0",
24
- "@rafay99/cvx-linux-x64": "0.35.0",
25
- "@rafay99/cvx-linux-arm64": "0.35.0",
26
- "@rafay99/cvx-win32-x64": "0.35.0"
22
+ "@rafay99/cvx-darwin-arm64": "0.42.0",
23
+ "@rafay99/cvx-darwin-x64": "0.42.0",
24
+ "@rafay99/cvx-linux-x64": "0.42.0",
25
+ "@rafay99/cvx-linux-arm64": "0.42.0",
26
+ "@rafay99/cvx-win32-x64": "0.42.0"
27
27
  }
28
28
  }