-
Notifications
You must be signed in to change notification settings - Fork 0
Developer Setup
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.
- User-Agent-Harness
- User-Agent-Providers
- User-Building
- User-Getting-Started
- User-Image
- User-Keyboard-Shortcuts
- User-Language
- User-Memory-And-Tasks
- User-Plans
- User-Rules-And-Skills
- User-Subagents
- User-Troubleshooting
- User-Voice
- User-Workspaces
- Developer-Agent-Harness
- Developer-Architecture
- Developer-Contributing
- Developer-I18n
- Developer-Setup
- Developer-Subagents
- Developer-Tauri-Ipc
- Developer-Voice