@lovinka/vitrinka 1.17.0 → 1.18.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 +28 -0
- package/README.md +16 -17
- package/dist/cli.js +180 -231
- package/dist/cli.js.map +1 -1
- package/dist/lib/registry.js +51 -0
- package/dist/lib/registry.js.map +1 -0
- package/dist/mcp.js +13 -15
- package/dist/mcp.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,34 @@
|
|
|
3
3
|
`vitrinka update` prints the sections newer than your previous version after
|
|
4
4
|
updating — keep entries short and user-facing.
|
|
5
5
|
|
|
6
|
+
## Unreleased
|
|
7
|
+
|
|
8
|
+
## 1.18.0 — 2026-07-21
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- `vitrinka edit [path]` — focus the resident Vitrinka.app editor on a file or
|
|
12
|
+
project via the `vitrinka://edit?path=…` deep link (`--print` emits only the
|
|
13
|
+
URL; when the app isn't installed it prints an install hint). The instant
|
|
14
|
+
editor's CLI entry point.
|
|
15
|
+
- Automatic project registry: `edit`, `status`, `watch`, and `board-from-set`
|
|
16
|
+
now record `{project → main-worktree path}` to
|
|
17
|
+
`~/.config/vitrinka/projects.json` as a side effect, so the desktop editor
|
|
18
|
+
auto-discovers your live checkouts with zero extra UX. Best-effort — a write
|
|
19
|
+
failure never breaks the command.
|
|
20
|
+
- `compose_board` accepts kind `"artifact"` — a sandboxed self-contained HTML
|
|
21
|
+
card straight from a compose batch: `{html}` full document or
|
|
22
|
+
`{body, runtime: "tw4"}` markup-only (server inlines the Tailwind v4
|
|
23
|
+
runtime; dramatically cheaper). Up to 8 MiB inline.
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
- `compose_board`'s card schema is slim: the tool description now carries the
|
|
27
|
+
kind index + quick shapes only; per-kind payload contracts live in the
|
|
28
|
+
vitrinka plugin skills (the publish skill's `references/card-kinds.md` is
|
|
29
|
+
the index). Unknown kinds still 400 with the full allowed list.
|
|
30
|
+
- `vitrinka import` (and `POST /import`) replies with a compact per-card
|
|
31
|
+
summary (`{id, elemNo, kind, title, counts, section?}`); pass `--verbose`
|
|
32
|
+
(API: `?verbose=1`) for the full card JSON.
|
|
33
|
+
|
|
6
34
|
## 1.17.0 — 2026-07-20
|
|
7
35
|
|
|
8
36
|
### Added
|
package/README.md
CHANGED
|
@@ -52,19 +52,6 @@ to wire the **Claude Code UI** — re-runnable standalone as `vitrinka install-c
|
|
|
52
52
|
renders a clickable **🧷 board** badge in Claude Code's footer whenever a
|
|
53
53
|
`/boards/` URL appears in the conversation (clickable in every terminal;
|
|
54
54
|
needs Claude Code ≥ 2.1.176).
|
|
55
|
-
- **Statusline segment** — `~/.claude/vitrinka-statusline.sh` wraps your existing
|
|
56
|
-
statusline command (recorded on its `VITRINKA_ORIG=` line) and appends a
|
|
57
|
-
`🧷 <board-url>` segment when the session's `.screenshots/.vitrinka` descriptor
|
|
58
|
-
exists (plain-text URL — Claude Code strips OSC 8 from statusline output, and
|
|
59
|
-
terminals cmd+click-linkify visible URLs themselves); with no statusline configured it renders a minimal
|
|
60
|
-
`dir │ branch │ 🧷 board │ model` line itself. Needs `jq`; degrades to
|
|
61
|
-
pass-through without it, and never double-renders a board segment your own
|
|
62
|
-
statusline already prints.
|
|
63
|
-
- **Session-start board link** — `~/.claude/hooks/vitrinka-board-link.sh`, a
|
|
64
|
-
`SessionStart` hook that prints the repo's live board URL into session
|
|
65
|
-
context at start, so the clickable footer badge exists from message one
|
|
66
|
-
(the statusline URL isn't clickable in every terminal). Silent no-op in
|
|
67
|
-
repos without a `.screenshots/.vitrinka` descriptor; needs `jq`.
|
|
68
55
|
- **App badge** (only when Vitrinka.app is installed) — a second
|
|
69
56
|
`footerLinksRegexes` entry that renders **⧉ app** next to the board badge;
|
|
70
57
|
its `vitrinka://` deep link opens the same board in the desktop app
|
|
@@ -77,11 +64,23 @@ to wire the **Claude Code UI** — re-runnable standalone as `vitrinka install-c
|
|
|
77
64
|
flag file instead of probing `/Applications` themselves — `vitrinka open` uses
|
|
78
65
|
it to open boards in the app (pass `--browser` to force the browser).
|
|
79
66
|
|
|
67
|
+
**Instant editor** — `vitrinka edit [path]` focuses the resident app on a file or
|
|
68
|
+
project via the `vitrinka://edit?path=…` deep link (`--print` emits only the URL).
|
|
69
|
+
Whenever a command already knows the repo — `edit`, `status`, `watch`,
|
|
70
|
+
`board-from-set` — it records `{project → main-worktree path}` to
|
|
71
|
+
`~/.config/vitrinka/projects.json`, so the desktop editor auto-discovers your live
|
|
72
|
+
checkouts with no extra step (it enumerates worktrees itself via `git worktree list`).
|
|
73
|
+
|
|
80
74
|
All steps are idempotent — re-runs detect the wiring and no-op. To remove:
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
75
|
+
drop the `footerLinksRegexes` entries whose pattern contains `/boards/` from
|
|
76
|
+
`~/.claude/settings.json` (or run `vitrinka uninstall`).
|
|
77
|
+
|
|
78
|
+
The old **statusline segment** and **session-start board-link hook** were
|
|
79
|
+
retired (docs/specs/2026-07-20-menubar-tray-decisions.md): active-board
|
|
80
|
+
visibility now lives in the desktop app's **menu bar tray** (`apps/desktop`),
|
|
81
|
+
which shows the boards with a live listener lease on this machine. `vitrinka
|
|
82
|
+
install`/`update`/`uninstall` clean the legacy wrapper + hook off existing
|
|
83
|
+
installs and restore your original `statusLine.command`.
|
|
85
84
|
|
|
86
85
|
For Claude Desktop or any other MCP client, add the equivalent entry by hand:
|
|
87
86
|
|