A Swift command-line tool & library – MIT-licensed – to read, decode and replay boat instrument data — NMEA 0183, NMEA 2000, Signal K and Victron VRM — with AIS target tracking and LAN auto-discovery.
For sailors & tinkerers
Connect to your gateway or MFD over TCP/UDP, stream Signal K over the network (TCP, REST or WebSocket), replay recorded logs, browse the LAN for instruments, read your Victron VRM site, and download GMDSS high-seas forecasts — all from the terminal, with live colour output.
connect — TCP / UDP / Signal K (ws · http)devices — inventory of the NMEA 2000 network devices (manufacturer, model, serial…)pilot — drive the autopilot (brand dialect auto-selected)windlass — drive the anchor windlass (standard NMEA 2000 order)file — replay NMEA 0183/2000, YD RAW, SeaSmart, Canboat, iKonvert & Signal K logsvrm — Victron VRM clouddiscover — Bonjour/mDNS LAN discoverygmdss — GMDSS high-seas forecasts (WMO WWMIWS), by METAREA or by positionsimulate — replay a synthetic NMEA 2000 passage (position, wind, AIS…)Development snapshots (tip of the lab branch — unstable, for the adventurous):
all assets →
macOS
The .pkg is signed and notarised by Apple — it installs without any Gatekeeper warning, with nothing else to install.
Linux & Windows — Swift runtime
The Linux and Windows binaries link the Swift runtime dynamically, so the target machine has to install it.
Linux (Ubuntu / Debian)
curl -O https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz
tar zxf swiftly-$(uname -m).tar.gz && ./swiftly init
Windows
winget install --id Swift.Toolchain -e
Linux — Avahi library (discover feature only)
Bonjour/mDNS discovery relies on the Avahi compatibility library. Not needed unless you use discover.
sudo apt-get install -y libavahi-compat-libdnssd1
Windows — Microsoft VC++ Redistributable
Usually already present on most PCs. If it is missing, install Microsoft.VCRedist.2015 (harmless if already there):
winget install --id Microsoft.VCRedist.2015+.x64 -e
For developers
The multiplatform engine behind the CLI: strict-concurrency () Sendable models, NMEA / Signal K / Victron clients, a normalising metric store, and AIS decoding with country derivation — ready to embed in your own app. Also includes a C-ABI bridge for interop with any other language.