🐈 Always land on your paws! 🐈⬛
CATS Configurator is the cross-platform desktop utility for configuring CATS
flight computers and inspecting .cfl flight logs. It uses a Vue/Vuetify
renderer and a Rust/Tauri host for serial communication, configuration,
profiles, preflight, local files, and CATS Flights handoff.
The current version is 2.0.3. Configurator checks for updates at startup and
offers to install signed updates and restart. Click the app version in the
footer to check again. Connected devices are disconnected before installation.
Debian packages are updated manually. Windows packages are unsigned, and macOS
packages are ad-hoc signed but not notarized.
- Node.js 24.15 or newer (within Node.js 24 LTS) and npm 11 or newer
- Current stable Rust with Cargo
- Windows: the Microsoft C++ build tools and WebView2
- macOS: Xcode command-line tools (the app uses WKWebView)
- Linux: WebKitGTK 4.1 and the native build dependencies below
- A supported CATS device for hardware validation
On Debian or Ubuntu:
sudo apt-get install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev libudev-dev patchelf xdg-utilsLinux users also need permission to access the Vega serial device. On Debian
and Ubuntu this normally means membership in the dialout group.
Run all commands from the repository root:
npm ci
npm startnpm installs the renderer dependencies and invokes the Tauri CLI. Cargo builds
the native backend and shell. npm run dev runs only the Vite server; use
npm start to launch the working desktop app with its native host.
npm run lint
npm run format:check
npm test
npm run verify:release-contract
npm run build:frontend
npm run verify:production-target
cargo fmt --manifest-path src-tauri/Cargo.toml --all -- --check
cargo clippy --manifest-path src-tauri/Cargo.toml --locked --all-targets -- -D warnings
npm run test:rustRenderer/component tests and native Rust tests are complementary: the renderer suite tests the UI and Tauri bridge, while Rust tests exercise the serial, profile, preflight, flight-log, and handoff code.
The ignored hardware checks are read-only. Close or disconnect other serial clients first, then explicitly select the connected Vega and an existing log:
$env:CATS_VEGA_PORT = "COM4"
$env:CATS_VEGA_LOG_PATH = "E:\fl016.cfl"
npm run test:hardwareThese checks include 50 connect/disconnect cycles. They do not reset the board, save configuration, delete onboard logs, or run a simulation. The separate simulation check requires development firmware; production firmware may report the command unavailable.
npm run buildPackages are written under src-tauri/target/**/release/bundle/:
- Windows x64: NSIS installer
- macOS: Intel and Apple Silicon application bundles and DMGs
- Linux x64: AppImage and Debian package
CI installs from package-lock.json, checks both codebases, and builds all
four platform/architecture targets. Version tags publish the native artifacts;
tags containing a prerelease suffix create GitHub prereleases. Pushing a branch
does not publish a release. Native macOS/Linux device acceptance is still
required.
See the release policy.
CATS Configurator is licensed under the GNU General Public License v3 and can be used free of charge without warranty.
