@vitrinka/cli 4.2.0 → 5.0.1

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/CHANGELOG.md +70 -2
  2. package/README.md +15 -15
  3. package/package.json +7 -7
package/CHANGELOG.md CHANGED
@@ -1,7 +1,75 @@
1
1
  # Changelog
2
2
 
3
- `vitrinka update` prints the sections newer than your previous version after
4
- updating — keep entries short and user-facing.
3
+ `vitrinka update` prints the sections newer than your previous version
4
+ after updating — keep entries short and user-facing.
5
+
6
+ ## 5.0.1
7
+
8
+ `vitrinka update` and `vitrinka doctor` are back at the top level, the way
9
+ `brew doctor`, `flutter doctor` and `<tool> update` read; `setup update` and
10
+ `setup doctor` are gone (unknown command, exit 2 — no aliases). `setup` keeps
11
+ the bare first run plus `uninstall`, `extension` and `skills`.
12
+
13
+ `vitrinka task list --json id,title` (a space before the field list) used to
14
+ fail as "unknown command id,title". It now says what it means: the field list
15
+ rides the flag with `=` — `--json=id,title` — and the fix line is the
16
+ corrected command.
17
+
18
+ ## 5.0.0
19
+
20
+ One vocabulary. The CLI is twenty entries: nouns that group verbs, three
21
+ leaf verbs (status, help, completion), nothing else. Old names are gone —
22
+ they print "unknown command" and exit 2. There are no aliases.
23
+
24
+ ```text
25
+ Old New
26
+ install · project setup setup (the whole first run)
27
+ doctor · extension doctor doctor
28
+ update · uninstall update · setup uninstall
29
+ extension … · skills … setup extension … · setup skills …
30
+ set init|push|capture|rename|meta board init|push|capture|rename|meta
31
+ artifact … · diagram … board artifact … · board diagram …
32
+ open · edit board open · board edit
33
+ run · usertest · pair · session qa run · qa usertest · qa pair · qa session
34
+ todo · diary · brief · time me todo · me diary · me brief · me time
35
+ schedule <title> --in … me schedule add <title> --in …
36
+ schedule list|ripe|move|skip|end me schedule …
37
+ listen work listen
38
+ resolve <url> · query <sql> search resolve <url> · search query <sql>
39
+ ai <words> docs ask <words>
40
+ tidy project tidy
41
+ ui (bare `vitrinka` on a terminal)
42
+ login · logout · token auth login · auth logout · auth token
43
+ push · snap · remote-init board push · board capture · board init
44
+ name · meta · upload board rename · board meta · board upload
45
+ board-from-set · journey-from-set board create · board create --journey
46
+ artifact-init · artifact-from-set board artifact init · board artifact create
47
+ watch · setup-project · index work watch · setup · project index
48
+ import · schema board diagram import · board diagram schema
49
+ operator · use · smtp config operator · config bind · admin smtp
50
+ ```
51
+
52
+ ### First run
53
+ - **`vitrinka setup`** is the one door: sign in, agent plugin + MCP, detect
54
+ this repository, review the proposed index (all tracked supported files
55
+ minus lockfiles, generated, vendored and `.github`), apply, next action.
56
+ Done steps are skipped on rerun; Back keeps your answers; the key bar
57
+ survives 80 columns. `--advanced` opens the directory picker.
58
+ - **`vitrinka doctor`** checks the installation and this repository;
59
+ `--all` adds every registered project. `--fix` shows a target · before ·
60
+ after plan and applies it after review.
61
+
62
+ ### Agents
63
+ - `--no-input` never prompts (also `VITRINKA_NO_INPUT=1`, `CI=true`);
64
+ `--yes` accepts the proposed plan; a step that needs a person exits 5
65
+ `needs_human` with the plan in the envelope and the `--yes` rerun in
66
+ `next[]`.
67
+ - `--json=id,title` prunes `data` to those fields; `--jq '<expr>'` filters
68
+ the envelope.
69
+ - Exit codes: 0 · 1 · 2 misuse · 3 nothing found · 4 sign in · 5 needs a
70
+ human · 130 cancelled.
71
+ - `vitrinka help exit-codes|json|no-input|environment|agents` explain each
72
+ contract; every command's help carries the same vocabulary.
5
73
 
6
74
  ## 4.2.0
7
75
 
package/README.md CHANGED
@@ -15,10 +15,10 @@ download, no network surprise in sandboxed CI or behind a corporate proxy.
15
15
 
16
16
  ```bash
17
17
  npm i -g @vitrinka/cli
18
- vitrinka install # one-command machine setup
18
+ vitrinka setup # one-command machine setup
19
19
  ```
20
20
 
21
- `vitrinka install` IS the onboarding: it prints a ✓/✗ table of every component,
21
+ `vitrinka setup` IS the onboarding: it prints a ✓/✗ table of every component,
22
22
  silently installs the harmless ones (the skills plugin into each runtime CLI it
23
23
  finds, a `vitrinka` shim on PATH, shell completion — all reversible), then asks
24
24
  `[Y/n]` only for the config-touchers: MCP registration, the write token (silent
@@ -28,7 +28,7 @@ input, → the OS keyring) and the operator name.
28
28
  vitrinka doctor # server, token, operator, skills, shim, MCP
29
29
  vitrinka doctor --fix # repairs the repairable
30
30
  vitrinka update # update the CLI and everything install put here
31
- vitrinka uninstall # remove it all (--purge: token too)
31
+ vitrinka setup uninstall # remove it all (--purge: token too)
32
32
  ```
33
33
 
34
34
  Installing with `--omit=optional` / `--no-optional` skips the binary by design.
@@ -38,7 +38,7 @@ failing as "command not found".
38
38
  ## MCP
39
39
 
40
40
  The MCP surface is served by the vitrinka server at `/mcp` and per workspace
41
- at `/w/<workspace>/mcp`, with OAuth 2.1 built in. `vitrinka install` registers
41
+ at `/w/<workspace>/mcp`, with OAuth 2.1 built in. `vitrinka setup` registers
42
42
  it for you. For Claude Code that is a **remote HTTP entry** — no local
43
43
  process per session; sign in once from inside Claude Code (`/mcp` → vitrinka
44
44
  → authenticate):
@@ -57,7 +57,7 @@ plus whatever is detected), entries merge into existing files, and
57
57
  writes reach only projects that already exist; the bound repo's project file
58
58
  is what allows creating them.
59
59
 
60
- For Codex, headless machines (`vitrinka install --mcp-stdio`) and any MCP
60
+ For Codex, headless machines (`vitrinka setup --mcp-stdio`) and any MCP
61
61
  client without OAuth, the CLI's own stdio forwarder `vitrinka mcp` does the
62
62
  same job: it resolves the deployment origin, the workspace, the token (OS
63
63
  keyring) and the operator at runtime, so the entry carries no URL, no token,
@@ -73,12 +73,12 @@ no headers:
73
73
 
74
74
  > The old **HTTP + `Authorization: Bearer …` registration is retired** — it
75
75
  > baked a credential into client config. `vitrinka doctor` flags it and
76
- > `vitrinka install` rewrites it.
76
+ > `vitrinka setup` rewrites it.
77
77
 
78
- `vitrinka install` also links `~/.local/bin/vitrinka` straight to the Go
78
+ `vitrinka setup` also links `~/.local/bin/vitrinka` straight to the Go
79
79
  binary this package ships (on npm and bun; pnpm gets a copy that `vitrinka
80
80
  update` refreshes) and puts it first on PATH, so long-running commands
81
- (`vitrinka mcp`, `vitrinka watch`) run without the Node launcher idling as
81
+ (`vitrinka mcp`, `vitrinka work watch`) run without the Node launcher idling as
82
82
  their parent. Updates still flow through your package manager.
83
83
 
84
84
  vitrinka is an authenticated service at `https://app.vitrinka.ai` — sign up
@@ -96,7 +96,7 @@ browser. Self-hosted deployments point the CLI at their own host with
96
96
 
97
97
  ## Trustworthy project index
98
98
 
99
- `vitrinka setup-project` or `vitrinka index configure` creates the
99
+ `vitrinka setup` or `vitrinka project index configure` creates the
100
100
  repository-owned `vitrinka.config.json`. The interactive picker chooses
101
101
  extension groups and any depth of directory tree, then shows the exact file
102
102
  manifest before approval. Choosing "later" writes an explicit disabled policy
@@ -110,10 +110,10 @@ untracked files require an explicit advanced opt-in; credential/key filenames
110
110
  and binary/generated assets are blocked by both client and server safety floors.
111
111
 
112
112
  ```bash
113
- vitrinka index configure # edit, preview, approve, then refresh
114
- vitrinka index status # policy + local approval/upload receipt
115
- vitrinka index --dry-run # exact paths, no network request
116
- vitrinka index --explain path/to/file # winning selection or deny rule
113
+ vitrinka project index configure # edit, preview, approve, then refresh
114
+ vitrinka project index status # policy + local approval/upload receipt
115
+ vitrinka project index --dry-run # exact paths, no network request
116
+ vitrinka project index --explain path/to/file # winning selection or deny rule
117
117
  ```
118
118
 
119
119
  The config schema is served by the deployment at
@@ -124,9 +124,9 @@ The config schema is served by the deployment at
124
124
 
125
125
  `~/.config/vitrinka/desktop-app` is the ONE canonical "is Vitrinka.app installed
126
126
  here" answer (content = the app path). `apps/desktop`'s `make install` stamps it;
127
- `doctor` and `setup-project` re-sync it to reality. `vitrinka open` uses it to
127
+ `doctor` and `setup-project` re-sync it to reality. `vitrinka board open` uses it to
128
128
  open boards in the app (pass `--browser` to force the browser), and
129
- `vitrinka edit [path]` focuses the resident app on a file or project.
129
+ `vitrinka board edit [path]` focuses the resident app on a file or project.
130
130
 
131
131
  ## Development
132
132
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitrinka/cli",
3
- "version": "4.2.0",
3
+ "version": "5.0.1",
4
4
  "description": "vitrinka CLI — capture and publish artifact sets, drive the annotation-board work queue. Thin npm launcher for the single-binary Go CLI.",
5
5
  "bin": {
6
6
  "vitrinka": "bin/vitrinka.js"
@@ -15,12 +15,12 @@
15
15
  "node": ">=18"
16
16
  },
17
17
  "optionalDependencies": {
18
- "@vitrinka/cli-darwin-arm64": "4.2.0",
19
- "@vitrinka/cli-darwin-x64": "4.2.0",
20
- "@vitrinka/cli-linux-arm64": "4.2.0",
21
- "@vitrinka/cli-linux-x64": "4.2.0",
22
- "@vitrinka/cli-win32-arm64": "4.2.0",
23
- "@vitrinka/cli-win32-x64": "4.2.0"
18
+ "@vitrinka/cli-darwin-arm64": "5.0.1",
19
+ "@vitrinka/cli-darwin-x64": "5.0.1",
20
+ "@vitrinka/cli-linux-arm64": "5.0.1",
21
+ "@vitrinka/cli-linux-x64": "5.0.1",
22
+ "@vitrinka/cli-win32-arm64": "5.0.1",
23
+ "@vitrinka/cli-win32-x64": "5.0.1"
24
24
  },
25
25
  "keywords": [
26
26
  "vitrinka",