@lovinka/vitrinka 1.17.0 → 1.20.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 -0
- package/README.md +16 -17
- package/dist/cli.js +626 -271
- package/dist/cli.js.map +1 -1
- package/dist/lib/registry.js +64 -0
- package/dist/lib/registry.js.map +1 -0
- package/dist/lib/tui.js +79 -0
- package/dist/lib/tui.js.map +1 -0
- package/dist/mcp.js +13 -15
- package/dist/mcp.js.map +1 -1
- package/dist/work.js +4 -1
- package/dist/work.js.map +1 -1
- package/package.json +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,64 @@
|
|
|
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
|
+
## 1.20.0 — 2026-07-23
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
- All output now lives under one `.vitrinka/` home in the target repo:
|
|
10
|
+
`.vitrinka/screenshots/` (was `.screenshots/`), `.vitrinka/artifacts/<slug>/`
|
|
11
|
+
(was `.artifacts/`), plus `.vitrinka/scratch/<topic>/` as the sanctioned spot
|
|
12
|
+
for ad-hoc session output. Legacy roots auto-migrate the first time a command
|
|
13
|
+
touches them; explicit `--root`/`--from` paths are respected as given.
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
- `vitrinka tidy [--yes] [--all]` — report-first sweep of legacy roots and
|
|
17
|
+
shot-shaped repo-root litter (`.screenshots-<topic>/`, loose `shot-*.png`)
|
|
18
|
+
into `.vitrinka/`; `--all` also moves loose images and `.aud_*` text litter.
|
|
19
|
+
Git-tracked files are never touched.
|
|
20
|
+
- Plugin skills `/vitrinka:annotations` + `/vitrinka:answers` — manual MCP
|
|
21
|
+
fallback drains for when a "Send to Claude" dispatch doesn't reach the
|
|
22
|
+
session (annotation work queue / durable question answers).
|
|
23
|
+
|
|
24
|
+
## 1.19.0 — 2026-07-23
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
- `vitrinka setup-project` — the repo onboarding wizard (clack-styled TUI, the
|
|
28
|
+
pkg's first runtime deps: `@clack/prompts` + `picocolors`). One front door for
|
|
29
|
+
everything a repo needs before the editor and board @ autocomplete work:
|
|
30
|
+
machine-install gate (offers `install` inline when the machine isn't
|
|
31
|
+
onboarded), project name + registry record, file/route index push (verified),
|
|
32
|
+
component-index with auto-detected candidate dirs, desktop-app check, and an
|
|
33
|
+
optional hello board. Status-first and idempotent — re-runs refresh the cheap
|
|
34
|
+
bits and only prompt for what's missing; `--yes`/non-TTY takes every default.
|
|
35
|
+
- `edit` and `status` print a one-line hint toward `vitrinka setup-project`
|
|
36
|
+
while the repo has never been indexed.
|
|
37
|
+
|
|
38
|
+
## 1.18.0 — 2026-07-21
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
- `vitrinka edit [path]` — focus the resident Vitrinka.app editor on a file or
|
|
42
|
+
project via the `vitrinka://edit?path=…` deep link (`--print` emits only the
|
|
43
|
+
URL; when the app isn't installed it prints an install hint). The instant
|
|
44
|
+
editor's CLI entry point.
|
|
45
|
+
- Automatic project registry: `edit`, `status`, `watch`, and `board-from-set`
|
|
46
|
+
now record `{project → main-worktree path}` to
|
|
47
|
+
`~/.config/vitrinka/projects.json` as a side effect, so the desktop editor
|
|
48
|
+
auto-discovers your live checkouts with zero extra UX. Best-effort — a write
|
|
49
|
+
failure never breaks the command.
|
|
50
|
+
- `compose_board` accepts kind `"artifact"` — a sandboxed self-contained HTML
|
|
51
|
+
card straight from a compose batch: `{html}` full document or
|
|
52
|
+
`{body, runtime: "tw4"}` markup-only (server inlines the Tailwind v4
|
|
53
|
+
runtime; dramatically cheaper). Up to 8 MiB inline.
|
|
54
|
+
|
|
55
|
+
### Changed
|
|
56
|
+
- `compose_board`'s card schema is slim: the tool description now carries the
|
|
57
|
+
kind index + quick shapes only; per-kind payload contracts live in the
|
|
58
|
+
vitrinka plugin skills (the publish skill's `references/card-kinds.md` is
|
|
59
|
+
the index). Unknown kinds still 400 with the full allowed list.
|
|
60
|
+
- `vitrinka import` (and `POST /import`) replies with a compact per-card
|
|
61
|
+
summary (`{id, elemNo, kind, title, counts, section?}`); pass `--verbose`
|
|
62
|
+
(API: `?verbose=1`) for the full card JSON.
|
|
63
|
+
|
|
6
64
|
## 1.17.0 — 2026-07-20
|
|
7
65
|
|
|
8
66
|
### 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
|
|