Command line

Every command has an SDK and a REST twin; the browser uses the same API.

Command

Does

REST

vibe-sketch --version

Prints the version (and the codename, once registered).

GET /api/version

vibe-sketch serve [DOC.vsk] [--open]

Starts the app and the API on port 8766, or the next free port, which it prints; with a file, Save writes back to it.

vibe-sketch mcp [DOC.vsk ...] [--server URL | --new-server]

Serves the tools to an agent over MCP on standard input and output; see working with agents.

the REST API underneath

vibe-sketch convert INPUT -o OUTPUT

Converts between the file formats; --from smiles, inchi or name takes the text itself.

POST /api/convert, POST /api/export/{format}

vibe-sketch clean DOC.vsk [-o OUT.vsk]

Standard bond lengths and angles for every molecule, the drawing’s arrangement kept; in place unless -o is given.

POST /api/documents/{id}/clean

vibe-sketch embed DOC.vsk [--species ID] [--count N] [--replace]

3D structures (ETKDG, then MMFF94) with the drawn stereochemistry checked, kept in the document; in place unless -o is given.

POST /api/documents/{id}/embed

vibe-sketch submit DOC --species ID | --all --program orca|vibeqc --task T --method M ...

Writes the inputs and submits them to vibe-queue, embedding what has no 3D structure; the jobs and runs are saved in DOC. Exit status 3 if a species was refused.

POST /api/documents/{id}/submit

vibe-sketch runs DOC [--json]

The document’s runs in vibe-queue with their state.

GET /api/documents/{id}/runs

vibe-sketch cancel RUN

Cancels a run that has not finished.

POST /api/queue/runs/{run}/cancel

vibe-sketch view DOC --species ID [--embed]

Shows a species in vibe-view as a QVF: through vibe-view’s hand-off when it started vibe-sketch, else with vibe-view open.

POST /api/documents/{id}/view

vibe-sketch render DOC.vsk -o FIG.svg

Renders the scheme or the structures as SVG, or one structure as PNG.

GET /api/documents/{id}/export/svg

vibe-sketch info DOC.vsk [--json]

Formula, masses, charge, multiplicity, identifiers and checked name per species, and the reactions.

GET /api/documents/{id}/report

vibe-sketch name SMILES

The checked name of a structure; exit status 3, and the engine’s unchecked suggestion on standard error, when there is none.

in the report

vibe-sketch validate DOC.vsk ...

Checks documents; prints every problem.

POST /api/documents/validate

vibe-sketch schema [--output FILE]

Prints the document JSON schema.

GET /api/schema/document

vibe-sketch writers [--json]

Lists the input writers.

GET /api/writers

vibe-sketch input DOC.vsk --job ID

Writes a job’s input.

POST /api/inputs

vibe-sketch input DOC.vsk --species ID [--species ID ...] | --all --program NAME [--task T --method M --basis B ...] [--embed] [--output-dir DIR]

Writes species with one writer, the specification from the options or --spec JSON; --embed makes the 3D structures first.

POST /api/inputs, POST /api/documents/{id}/inputs

Exit status: 0 on success, 1 for an invalid document, unreadable input or a missing drawing library, 2 for a usage error (an unknown job, species or writer included), 3 when a writer or an exporter refuses. The REST side is mapped in the REST API.

The server serves its OpenAPI description at /openapi.json, so an agent can read the contract instead of guessing it.