@vitrinka/cli 4.2.0 → 5.0.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.
- package/CHANGELOG.md +58 -2
- package/README.md +20 -20
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,63 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
`vitrinka update` prints the sections newer than your previous version
|
|
4
|
-
updating — keep entries short and user-facing.
|
|
3
|
+
`vitrinka setup update` prints the sections newer than your previous version
|
|
4
|
+
after updating — keep entries short and user-facing.
|
|
5
|
+
|
|
6
|
+
## 5.0.0
|
|
7
|
+
|
|
8
|
+
One vocabulary. The CLI is twenty entries: nouns that group verbs, three
|
|
9
|
+
leaf verbs (status, help, completion), nothing else. Old names are gone —
|
|
10
|
+
they print "unknown command" and exit 2. There are no aliases.
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
Old New
|
|
14
|
+
install · project setup setup (the whole first run)
|
|
15
|
+
doctor · extension doctor setup doctor
|
|
16
|
+
update · uninstall setup update · setup uninstall
|
|
17
|
+
extension … · skills … setup extension … · setup skills …
|
|
18
|
+
set init|push|capture|rename|meta board init|push|capture|rename|meta
|
|
19
|
+
artifact … · diagram … board artifact … · board diagram …
|
|
20
|
+
open · edit board open · board edit
|
|
21
|
+
run · usertest · pair · session qa run · qa usertest · qa pair · qa session
|
|
22
|
+
todo · diary · brief · time me todo · me diary · me brief · me time
|
|
23
|
+
schedule <title> --in … me schedule add <title> --in …
|
|
24
|
+
schedule list|ripe|move|skip|end me schedule …
|
|
25
|
+
listen work listen
|
|
26
|
+
resolve <url> · query <sql> search resolve <url> · search query <sql>
|
|
27
|
+
ai <words> docs ask <words>
|
|
28
|
+
tidy project tidy
|
|
29
|
+
ui (bare `vitrinka` on a terminal)
|
|
30
|
+
login · logout · token auth login · auth logout · auth token
|
|
31
|
+
push · snap · remote-init board push · board capture · board init
|
|
32
|
+
name · meta · upload board rename · board meta · board upload
|
|
33
|
+
board-from-set · journey-from-set board create · board create --journey
|
|
34
|
+
artifact-init · artifact-from-set board artifact init · board artifact create
|
|
35
|
+
watch · setup-project · index work watch · setup · project index
|
|
36
|
+
import · schema board diagram import · board diagram schema
|
|
37
|
+
operator · use · smtp config operator · config bind · admin smtp
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### First run
|
|
41
|
+
- **`vitrinka setup`** is the one door: sign in, agent plugin + MCP, detect
|
|
42
|
+
this repository, review the proposed index (all tracked supported files
|
|
43
|
+
minus lockfiles, generated, vendored and `.github`), apply, next action.
|
|
44
|
+
Done steps are skipped on rerun; Back keeps your answers; the key bar
|
|
45
|
+
survives 80 columns. `--advanced` opens the directory picker.
|
|
46
|
+
- **`vitrinka setup doctor`** checks the installation and this repository;
|
|
47
|
+
`--all` adds every registered project. `--fix` shows a target · before ·
|
|
48
|
+
after plan and applies it after review.
|
|
49
|
+
|
|
50
|
+
### Agents
|
|
51
|
+
- `--no-input` never prompts (also `VITRINKA_NO_INPUT=1`, `CI=true`);
|
|
52
|
+
`--yes` accepts the proposed plan; a step that needs a person exits 5
|
|
53
|
+
`needs_human` with the plan in the envelope and the `--yes` rerun in
|
|
54
|
+
`next[]`.
|
|
55
|
+
- `--json=id,title` prunes `data` to those fields; `--jq '<expr>'` filters
|
|
56
|
+
the envelope.
|
|
57
|
+
- Exit codes: 0 · 1 · 2 misuse · 3 nothing found · 4 sign in · 5 needs a
|
|
58
|
+
human · 130 cancelled.
|
|
59
|
+
- `vitrinka help exit-codes|json|no-input|environment|agents` explain each
|
|
60
|
+
contract; every command's help carries the same vocabulary.
|
|
5
61
|
|
|
6
62
|
## 4.2.0
|
|
7
63
|
|
package/README.md
CHANGED
|
@@ -15,20 +15,20 @@ 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
|
|
18
|
+
vitrinka setup # one-command machine setup
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
`vitrinka
|
|
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
|
|
25
25
|
input, → the OS keyring) and the operator name.
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
|
-
vitrinka doctor # server, token, operator, skills, shim, MCP
|
|
29
|
-
vitrinka doctor --fix # repairs the repairable
|
|
30
|
-
vitrinka update # update the CLI and everything install put here
|
|
31
|
-
vitrinka uninstall # remove it all (--purge: token too)
|
|
28
|
+
vitrinka setup doctor # server, token, operator, skills, shim, MCP
|
|
29
|
+
vitrinka setup doctor --fix # repairs the repairable
|
|
30
|
+
vitrinka setup update # update the CLI and everything install put here
|
|
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
|
|
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):
|
|
@@ -53,11 +53,11 @@ OpenCode (`opencode.json`), VS Code (`.vscode/mcp.json`), Gemini CLI
|
|
|
53
53
|
(`.gemini/settings.json`) — as a plain remote URL the harness signs into with
|
|
54
54
|
its own OAuth flow; `--harness <csv|all>` picks them (default: Claude Code
|
|
55
55
|
plus whatever is detected), entries merge into existing files, and
|
|
56
|
-
`vitrinka doctor` reports drift. Through a user-level entry (root `/mcp`)
|
|
56
|
+
`vitrinka setup doctor` reports drift. Through a user-level entry (root `/mcp`)
|
|
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
|
|
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,
|
|
@@ -72,13 +72,13 @@ no headers:
|
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
> The old **HTTP + `Authorization: Bearer …` registration is retired** — it
|
|
75
|
-
> baked a credential into client config. `vitrinka doctor` flags it and
|
|
76
|
-
> `vitrinka
|
|
75
|
+
> baked a credential into client config. `vitrinka setup doctor` flags it and
|
|
76
|
+
> `vitrinka setup` rewrites it.
|
|
77
77
|
|
|
78
|
-
`vitrinka
|
|
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
|
|
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": "
|
|
3
|
+
"version": "5.0.0",
|
|
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": "
|
|
19
|
-
"@vitrinka/cli-darwin-x64": "
|
|
20
|
-
"@vitrinka/cli-linux-arm64": "
|
|
21
|
-
"@vitrinka/cli-linux-x64": "
|
|
22
|
-
"@vitrinka/cli-win32-arm64": "
|
|
23
|
-
"@vitrinka/cli-win32-x64": "
|
|
18
|
+
"@vitrinka/cli-darwin-arm64": "5.0.0",
|
|
19
|
+
"@vitrinka/cli-darwin-x64": "5.0.0",
|
|
20
|
+
"@vitrinka/cli-linux-arm64": "5.0.0",
|
|
21
|
+
"@vitrinka/cli-linux-x64": "5.0.0",
|
|
22
|
+
"@vitrinka/cli-win32-arm64": "5.0.0",
|
|
23
|
+
"@vitrinka/cli-win32-x64": "5.0.0"
|
|
24
24
|
},
|
|
25
25
|
"keywords": [
|
|
26
26
|
"vitrinka",
|