CLI Reference #
Every lvkit command, with its arguments, options, and a worked example. Each
page documents one command exhaustively; this page is the map.
Run lvkit <command> --help at any time for the same argument listing offline.
Reads, never writes #
lvkit only ever reads a VI — it never modifies, re-saves, or edits one. Your files are never touched, and LabVIEW stays the only thing that authors them.
Does lvkit modify my VIs? No. It's strictly read-only. This holds for every command, including generate: converting a VI parses it and emits a separate Python file — it never edits the source .vi.
Understand a VI #
Read-only commands that turn a .vi binary into something you can read, review,
or search. None of these require a primitive or vi.lib mapping
to be resolved first.
- describe — human-readable signature, inputs/outputs, operations, and control flow.
- structure — inspect the members of a
.lvlibor.lvclass. - render — a faithful, interactive block-diagram SVG.
- visualize — an interactive dataflow or dependency graph across a whole library.
- docs — cross-referenced HTML documentation for a VI, library, or class.
Query across a repo #
Index a repo once (lvkit index, though the commands below build/refresh it for
you), then ask project-wide questions in one call — no per-VI round trips, no
same-name collision loss.
- query — read-only SQL over the repo's index (views:
vi,terminal,constant,node,type_use,class_fact,lvproj); get back the answer (aGROUP BYhistogram), not a dump. Also documentslvkit index. - callers / callees / blast-radius — call graph & change impact: who calls a VI, what it calls, and what breaks if you change it.
Track changes #
- diff — compare two versions of a VI: terminals, operations, and wiring.
Convert #
- generate — deterministically generate Python from a VI, library, or
class. Unlike the commands above,
generaterequires every primitive and vi.lib call it hits to resolve — see Unresolved calls.
Set up & integrate #
- setup — install AI agent skills and create the project-local
.lvkit/store. - detect — find a locally installed LabVIEW and its
vi.lib/user.lib. - mcp — run the MCP server so an AI agent can query VIs interactively.
- install — get the MCP server in front of your agent: one-click bundles for Claude Desktop/VS Code/Claude Code, or a hand-written config file.
- vscode-extension — the VS Code extension: view and diff a
.viin the editor, with zero-config MCP.
Shared options #
- SubVI & vi.lib resolution — the
--search-path,--vilib,--userlib,--project-root, and--no-auto-vilibflags shared bydescribe,generate,docs,visualize,diff, andrender, explained once. - Netlist — the node-first text grammar shared by
describe --verbose's## Netlistsection,diff's text output, and the interactive diff viewer's Tree change list.
lvkit is an independent, clean-room project, not affiliated with, authorized by, endorsed by, or sponsored by NI. LabVIEW, NI, and National Instruments are trademarks of National Instruments Corporation, used only to identify the file format lvkit reads.