Build from source
Compile Walkmark locally for development, custom builds, or platforms without a prebuilt release.
Requirements
| Tool | Version |
|---|---|
| Rust | 1.82+ |
| Node.js | 18+ |
| pnpm | Latest (via corepack enable) |
| Tauri prerequisites | v2.tauri.app/start/prerequisites for your OS |
Platforms: macOS 11+, Windows 10+ (x64 or ARM64), Linux with working screen capture (X11 or Wayland portal).
Clone and install
git clone https://github.com/e-vicius/walkmark-desktop.git
cd walkmark
pnpm install
Development
pnpm tauri dev
Hot-reloads the Svelte frontend; Rust changes rebuild the backend. Use New guide and a short recording to verify capture on your machine.
Useful scripts
pnpm typecheck # Svelte/TS check
pnpm build # Frontend production build only
Release build
pnpm tauri build
Artifacts appear under src-tauri/target/release/bundle/ (native target) or src-tauri/target/<triple>/release/bundle/ when cross-compiling.
Cross-compilation examples
# macOS Apple Silicon
pnpm tauri build --target aarch64-apple-darwin
# macOS Intel
pnpm tauri build --target x86_64-apple-darwin
# Windows x64
pnpm tauri build --target x86_64-pc-windows-msvc
# Windows ARM64 (NSIS only — no MSI on this target)
pnpm tauri build --target aarch64-pc-windows-msvc --bundles nsis
Output artifacts
| OS | Bundles |
|---|---|
| macOS | .app, .dmg |
| Windows x64 / ARM64 | NSIS .exe installer |
| Linux | .deb, .AppImage |
Release filenames follow Walkmark_<version>_<arch>.<ext> — see .github/workflows/release.yml for CI matrix.
Tests
pnpm typecheck
cargo test --manifest-path src-tauri/Cargo.toml
| Test | Purpose |
|---|---|
tests/wire.rs |
Provider HTTP against a local stub server |
tests/live_mistral.rs |
Optional live Mistral test — needs MISTRAL_API_KEY |
Unit tests in storage, catalog, export |
Persistence and formatting |
Project layout
src/ Svelte 5 UI (runes, TypeScript, Tailwind)
lib/api.ts Tauri invoke wrappers
lib/store.svelte.ts App state, events, dialogs
lib/components/ Library, editor, settings, export
src-tauri/src/
commands.rs IPC command handlers
capture/ Recording session, input, detection
ai/ Prompts, generation, catalog
export/ Markdown, HTML, PDF
storage.rs Projects, settings, credentials
docs/ User and developer documentation
Deep dive: Architecture.
Release process (maintainers)
Documented in RELEASE.md. Summary:
- Bump version in
src-tauri/tauri.conf.jsonandpackage.json. - Update CHANGELOG.md.
- Tag
vX.Y.Zand push — GitHub Actions builds platform artifacts. - Attach or verify release assets on GitHub Releases.
Contributing
Bug reports and pull requests welcome on GitHub. See CONTRIBUTING.md.
Licence: MIT.