vitrinkadocs

What vitrinka offers

An artifacts library and an annotation-board platform in a single Go binary. Recorders and agents publish what they made; humans and agents meet on a live board to mark it up; the fix comes back with its proof attached.

For humans and agents

The loop

One sentence from a tester becomes a work item with the screen, the region and the branch already attached. A listening agent takes it off the queue, fixes it, and hangs the after-shot beside the original.

  • Capture — a recorder or a CI job publishes a set — screenshots, a session, an HTML report, any files.
  • Mark — anyone with the link draws a region on the thing itself and says what is wrong.
  • Fix — an attached agent reads the item, changes the code, and publishes the proof back to the same board.

The surfaces

Six things a board can hold, each with its own page in this documentation set.

SurfaceWhat it is
BoardsAn infinite canvas where the screen is the ticket — draw a region, write one sentence.
SessionsA replayable recording: DOM, network waterfall and console on one timeline.
JourneysScreens wired in the order somebody walked them, branches rendered as signposts.
ArtifactsSelf-contained interactive pages, live on the canvas, updated in place at the same URL.
DiagramsArchitecture generated from docker-compose, OpenAPI, a SQL schema or a live database.
DocumentsMarkdown pages bound to repo files, deep-linked to the diagram nodes they explain.

The three pieces

There is a server, the things you install on your machines, and the boards engine that renders the canvas.

PieceWhat it is
ServerOne static Go binary: HTTP API, web UI and SQLite, with blobs on disk or S3.
ClientsThe vitrinka CLI, the Claude Code / Codex plugin and its skills, and the recorders.
Boards engineA no-build vendored JS island that renders the canvas in the browser.

The npm packages

Everything installable from npm lives under the @vitrinka scope — two packages, each with its own page in this documentation set.

PackageWhat it is
@vitrinka/cliThe vitrinka binary: the CLI and the MCP server in one global install.
@vitrinka/expoThe Expo / React Native toolkit — today it carries the journey recorder.

@vitrinka/cli resolves the right platform binary (@vitrinka/cli-<os>-<arch>) as an optional dependency on its own — those packages are plumbing, never something you install directly.

Where your data goes

Wherever you put the binary. Metadata in SQLite, blobs on your own disk or any S3-compatible store, and an air-gapped mode for networks that never reach the internet.

  • No third-party telemetry — the recorders send exclusively to the server URL you configure.
  • Every request authenticated — browsers carry a session cookie, machine clients a workspace-scoped bearer token.
  • Audited — sign-ins, role changes and break-glass use are recorded.

On this page