BLXCode is a two-crate Rust workspace:
| Crate | Path | Purpose |
|---|---|---|
blxcode-ui |
src/ |
Leptos CSR frontend compiled to WASM by Trunk. |
blxcode |
src-tauri/ |
Tauri 2 backend, native commands, state, PTY, provider clients. |
After cloning, you can let the platform setup script install/check the local toolchain and run the default verification:
./scripts/setup/setup-linux.sh
./scripts/setup/setup-macos.shpowershell -ExecutionPolicy Bypass -File scripts/setup/setup-windows.ps1Useful options are --check-only, --skip-system, --no-verify, and --with-bundle.
Install:
- Rust stable.
wasm32-unknown-unknowntarget.- Trunk.
- Cargo Tauri CLI.
- Tauri 2 native system dependencies.
- Native audio development dependencies used by the voice recorder.
rustup target add wasm32-unknown-unknown
cargo install trunk tauri-cliOn Debian or Ubuntu, the current Linux dependency set includes Tauri's WebKitGTK packages plus ALSA headers for cpal voice recording:
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev \
build-essential \
curl \
wget \
file \
libxdo-dev \
libssl-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libasound2-dev \
pkg-configcargo tauri devRuns the full desktop app. The Tauri config starts Trunk automatically.
trunk serveRuns the frontend only at http://localhost:1420. Tauri-only features are unavailable in this mode, but it can be useful for UI iteration.
cargo test --workspace
cargo check -p blxcode
cargo check -p blxcode-ui --target wasm32-unknown-unknown
trunk buildUse the narrowest command while iterating, then run the broader checks before publishing a change.
cargo tauri buildBundle configuration lives in src-tauri/tauri.conf.json.
Release helpers live at the repo root under scripts/ and share the same option set where possible:
./scripts/release.sh --help
./scripts/release-macos.sh --helpscripts\release.cmd --help
powershell -ExecutionPolicy Bypass -File scripts/release.ps1 --helpThe Bash pipeline remains the Linux/macOS path. The PowerShell pipeline mirrors it for native Windows releases and is split into matching modules under scripts/release/*.ps1 for common helpers, version bumping, changelog finalization, build preparation, Linux target handling, and GitHub uploads.
Cargo.toml: workspace and frontend crate manifest.src-tauri/Cargo.toml: backend crate manifest.Trunk.toml: frontend target, watch ignores, and dev server port.src-tauri/tauri.conf.json: Tauri app identity, dev/build commands, bundle resources, and window config.src-tauri/capabilities/default.json: Tauri v2 permissions.src/config/app.config.rs: frontend constants and local storage keys.
Bundled hook scripts live under content/hooks/ and are included as Tauri bundle resources. EULA markdown lives under content/eula/ and is compiled into the frontend. Core harness skill Markdown lives under src-tauri/src/agent/harness_skills/ — see Agent Harness.