Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/covenant-gov/pacto-app/llms.txt

Use this file to discover all available pages before exploring further.

This guide walks you through everything needed to build and run Pacto from source on Windows. You will install Visual Studio Build Tools, CMake, LLVM, the WebView2 runtime, the Rust toolchain, Node.js, and pnpm — then install dependencies and launch the app. All commands are written for PowerShell.
Run PowerShell as Administrator for the system-level installation steps. Once Rust, Node.js, and pnpm are installed you can continue in a regular terminal.
1

Install system dependencies

Open PowerShell as Administrator and install the required tools using winget:
winget install --id Git.Git -e
winget install --id Kitware.CMake -e
winget install --id LLVM.LLVM -e
winget install --id Microsoft.EdgeWebView2Runtime -e
Install Visual Studio 2022 Build Tools with the C++ workload:
winget install --id Microsoft.VisualStudio.2022.BuildTools -e
When the Visual Studio Installer opens, select:
  • Desktop development with C++
  • MSVC compiler/linker toolchain
  • Windows 10/11 SDK
After LLVM is installed, set the LIBCLANG_PATH environment variable so that bindgen can find libclang (restart your terminal after this):
setx LIBCLANG_PATH "C:\Program Files\LLVM\bin"
Package / ToolPurpose
Visual Studio Build Tools (C++)Provides the MSVC compiler and linker required by Rust on Windows
WebView2 RuntimeRequired by Tauri to render the application UI
CMakeBuild system required by native Rust dependencies (e.g. whisper-rs-sys)
LLVM (clang / libclang)Required by bindgen to generate Rust FFI bindings
GitVersion control for cloning and updating repositories
Whisper acceleration uses Vulkan on Windows. If you encounter Vulkan build errors, install the LunarG Vulkan SDK and restart your terminal.
2

Install Rust

Install rustup using winget:
winget install --id Rustlang.Rustup -e
Close and reopen PowerShell, then verify the installation:
rustc --version
cargo --version
3

Install Node.js

Install Node.js v18 or later (v20 recommended).Option A — nvm-windows (recommended for development):
winget install --id CoreyButler.NVMforWindows -e
nvm install 20
nvm use 20
Option B — official Node.js installer:
winget install --id OpenJS.NodeJS.LTS -e
Verify the installation:
node --version
4

Enable pnpm via Corepack

Activate pnpm using Corepack, which ships with Node.js:
corepack enable
corepack prepare pnpm@latest --activate
pnpm --version
5

Install Node dependencies

From the root of the cloned repository, install all workspace dependencies:
pnpm install
6

Set up environment and run the app

Copy the example environment file:
Copy-Item .env.example .env
# Optional: open .env and set ALCHEMY_RPC_KEY=<your_key>
Run the full desktop app (frontend + Rust backend):
pnpm run tauri:dev
Or run only the frontend in the browser (no Rust backend required):
pnpm dev
The first pnpm run tauri:dev can take several minutes because Cargo downloads and compiles all Rust dependencies. Subsequent builds are much faster.

Troubleshooting

Error:
WebView2 runtime not found
Solution: Install the WebView2 Runtime (it is usually pre-installed on Windows 10 and 11, but may be missing on older builds or server editions):
winget install --id Microsoft.EdgeWebView2Runtime -e
Error:
error: failed to run custom build command for `...`
Solution: Install CMake and LLVM, then set LIBCLANG_PATH and restart PowerShell:
winget install --id Kitware.CMake -e
winget install --id LLVM.LLVM -e
setx LIBCLANG_PATH "C:\Program Files\LLVM\bin"
Close and reopen PowerShell after setting the environment variable.
Error:
error: failed to compile with Vulkan support
Solution: Download and install the LunarG Vulkan SDK, then restart your terminal and rebuild.
Solution: Close and reopen your terminal so that the updated PATH takes effect. If the issue persists, confirm that %USERPROFILE%\.cargo\bin is present in your user or system PATH.
Solution: Configure pnpm to operate in user space, then reopen your terminal:
pnpm setup

Build docs developers (and LLMs) love