Skip to content

Releases

LabCraft 0.3.0-m0

LabCraft 0.3.0-m0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Nov 18:45
3fcb3f5

LabCraft M0, the first milestone in Rust: a dataflow language for test benches, written as text by an AI agent or
by hand, checked, run against simulated instruments, and drawn as a diagram that redraws as the file changes.
It is an early milestone: the diagram is read-only, and instruments are simulated only.

What is in it

  • labcraft-cli: fmt and check read, check and write programs (.lcf functions, .lct types); run runs a
    function against simulated instruments and writes its trace; diagram --svg draws a function as SVG; mcp is an
    MCP server, through which an AI agent writes, checks and runs programs on its own.
  • labcraft, the desktop viewer: it opens a folder read-only, draws each function following the visual notation,
    draws it again when its file changes, and shows the values of the last run on the wires.
  • labcraft-web, the same viewer in a browser (WebAssembly), with the examples and the shipped libraries.

The three parts of M0: M0a reads, checks and writes (tag v0.1.0-m0a), M0b runs and opens the agent loop
(v0.2.0-m0b), M0v draws (this tag). The documents of the repository describe the language, the command line and
the notation; the acceptance scenarios that M0 passes are in docs/acceptance-m0.md.

The archives

File For
labcraft-0.3.0-m0-windows-x64.zip Windows 10 and 11, x64
labcraft-0.3.0-m0-linux-x64.tar.gz Linux x64, glibc 2.35 or later (Ubuntu 22.04, Debian 12, Fedora 36 and later)
labcraft-0.3.0-m0-macos-arm64.tar.gz macOS on Apple Silicon
labcraft-0.3.0-m0-macos-x64.tar.gz macOS on Intel
labcraft-web-0.3.0-m0.zip The web viewer, a folder to serve
SHA256SUMS The SHA-256 of each file

Each archive holds labcraft-cli, labcraft, the example programs in examples/, the simulated instruments of
the visa library in sim/, the licences and the attributions, and in THIRD-PARTY-LICENSES.txt the licences of
the Rust crates built into the binaries.

Try it

In a terminal, in the folder of the archive (on Windows, in PowerShell):

./labcraft-cli check examples
./labcraft-cli run --sim sim/dmm-230V.toml --arg resource=SIM::DMM0 examples check_voltage
./labcraft examples

run prints the outputs of check_voltage against a simulated multimeter, and the viewer shows the values of that
run on its wires. To give an AI agent the MCP server, here in Claude Code:

claude mcp add labcraft -- <folder of the archive>/labcraft-cli mcp --project <a folder of its own>

The binaries are not signed yet.

  • Windows: SmartScreen may stop the first launch; choose More info, then Run anyway. In cmd.exe, type
    labcraft-cli without ./.
  • macOS: the system refuses a downloaded binary that is not notarized. Remove the quarantine once, in the folder of
    the archive: xattr -d com.apple.quarantine labcraft labcraft-cli.
  • Linux: the viewer needs a Vulkan or OpenGL driver, and X11 or Wayland; the command line needs neither.

The web viewer runs from a web server, not from a file opened in the browser. In its folder, for example:
python3 -m http.server 8000 (py -m http.server 8000 on Windows), then open http://localhost:8000/. Drop a folder of .lcf files on the page to draw
your own.

Not yet

Editing the diagram (M1), real instruments (M4: TCP/IP, serial, USBTMC, HiSLIP, an installed VISA), the front
panel (M3). The roadmap is in docs/roadmap.md.

LabCraft is licensed under MIT OR Apache-2.0. Feedback on the language and the viewer is the most useful help: see
CONTRIBUTING.md.