- Rust (stable)
- Node.js 18+
- Tauri CLI v2
- Python 3 (for model download helper)
- Platform-specific build tools:
- macOS: Xcode Command Line Tools
- Linux: see LINUX.md
- Windows: see WINDOWS.md
npm run setup -- --yes
python3 -c "from huggingface_hub import snapshot_download; snapshot_download('Zyphra/ZUNA')"
npm run tauri devnpm run tauri buildValidate that release artifacts include the skill-daemon sidecar:
# macOS/Linux auto-detect host OS
npm run test:daemon-packaging
# explicit targets
npm run test:daemon-packaging:mac
npm run test:daemon-packaging:linux
npm run test:daemon-packaging:winBuild + verify in one step:
bash scripts/test-daemon-packaging.sh --os macos --build
bash scripts/test-daemon-packaging.sh --os linux --build
powershell -ExecutionPolicy Bypass -File scripts/test-daemon-packaging.ps1 -Buildnpm run setup:build-cache
npm run setup:llama-prebuiltEnvironment toggles:
SKILL_NO_SCCACHE=1SKILL_NO_MOLD=1unset LLAMA_PREBUILT_DIR(force local llama.cpp build)SKILL_DAEMON_SERVICE_AUTOINSTALL=0(disable daemon background-service auto-install for local testing)
npm run health
# or
SKILL_DIR=/path/to/.skill npm run healthnpm run sync:readme:supported
npm run sync:readme:supported:checkcargo clippy --all-targets --all-features -- -D warnings(insrc-tauri)npm run check
Emergency bypass:
git commit --no-verifynpm run bump
npm run bump 1.2.0This syncs versions across app manifests and compiles changelog fragments.
Important: The bump command now includes safety checks to prevent accidental multiple bumps:
- It verifies that the current version has a git tag (
vX.X.X) locally - It verifies that the tag has been pushed to a remote
- If either check fails, the bump will be aborted with instructions
To bypass these checks (use with caution):
npm run bump --forceAfter a successful bump, create and push the version tag:
npm run tagOr manually:
git tag vX.X.X
git push --tagsact push
bash release.sh --dry-run
SKIP_UPLOAD=1 bash release.sh