Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Developer Setup

github-actions[bot] edited this page May 29, 2026 · 2 revisions

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.

Prerequisites

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.sh
powershell -ExecutionPolicy Bypass -File scripts/setup/setup-windows.ps1

Useful options are --check-only, --skip-system, --no-verify, and --with-bundle.

Install:

  • Rust stable.
  • wasm32-unknown-unknown target.
  • 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-cli

On 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-config

Development Commands

cargo tauri dev

Runs the full desktop app. The Tauri config starts Trunk automatically.

trunk serve

Runs the frontend only at http://localhost:1420. Tauri-only features are unavailable in this mode, but it can be useful for UI iteration.

Verification Commands

cargo test --workspace
cargo check -p blxcode
cargo check -p blxcode-ui --target wasm32-unknown-unknown
trunk build

Use the narrowest command while iterating, then run the broader checks before publishing a change.

Build

cargo tauri build

Bundle configuration lives in src-tauri/tauri.conf.json.

Release Automation

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 --help
scripts\release.cmd --help
powershell -ExecutionPolicy Bypass -File scripts/release.ps1 --help

The 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.

Important Config Files

  • 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.

Generated Or External Assets

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.

App icons — source artwork: public/blxcode.png. Tauri bundle icons under src-tauri/icons/ (.ico, .icns, PNG sizes, Windows Store, Android, iOS). Regenerate after changing the logo:

./scripts/generate-app-icons.sh

src-tauri/tauri.conf.jsonbundle.icon lists the paths used for desktop installers and the window/taskbar icon.

See also

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /