Prerequisites
Before you begin, ensure you have the required tools installed:System Requirements
- Node.js (v18 or later recommended)
- pnpm (v10.12.1 or later)
- Rust (latest stable version)
- Tauri CLI (installed via npm)
Platform-Specific Prerequisites
Tauri requires additional system dependencies depending on your operating system:- Linux
- macOS
- Windows
Install the following packages (Ubuntu/Debian):
Installation
Install dependencies
Install Node.js dependencies using pnpm:This will install all frontend dependencies listed in
package.json, including the Tauri CLI.Development
Running the Development Server
Start the application in development mode with hot reload:- Starts the Vite development server on port 1420
- Compiles the Rust backend
- Launches the Tauri application window
- Enables hot module replacement (HMR) for frontend changes
The development server uses a fixed port (1420) as required by Tauri. If this port is already in use, the build will fail.
Development Workflow
While the development server is running:- Frontend changes (TypeScript, Svelte, CSS) trigger automatic hot reload
- Rust changes require restarting the dev server manually
- Configuration changes in
tauri.conf.jsonrequire a restart
Type Checking
Run TypeScript and Svelte type checking:Running Tests
Praydo uses Vitest for testing:Code Formatting
Format code using Prettier:Production Build
Building the Application
Create a production build of Praydo:- Builds the SvelteKit frontend with Vite (production mode)
- Compiles the Rust backend with optimizations
- Bundles everything into a native application
- Creates platform-specific installers
The build process can take several minutes, especially the first time as Rust dependencies are compiled.
Build Artifacts
After a successful build, you’ll find the output in:| Platform | Bundle Types |
|---|---|
| Linux | .deb, .AppImage |
| macOS | .app, .dmg |
| Windows | .exe, .msi |
Release Builds
For release builds with code signing and updater support, additional configuration is required intauri.conf.json.
Troubleshooting
Port Already in Use
If port 1420 is already in use:Rust Compilation Errors
If you encounter Rust compilation errors:-
Update Rust to the latest version:
-
Clean the build cache:
Missing Dependencies
If the build fails due to missing system dependencies, refer to the Tauri prerequisites for your platform.WebView2 Issues (Windows)
If you encounter WebView2 errors on Windows:- Download and install the WebView2 Runtime
- Restart your development environment
Build Scripts
All available scripts frompackage.json:
Next Steps
- Learn about the application architecture
- Review the contributing guidelines
- Explore the configuration options