Development Setup
Complete setup guide for DesQTA development
Prerequisites
Before you can develop DesQTA, you need to install the following tools:
Required Tools
- Node.js (v18 or higher)
- Download from nodejs.org
- Verify:
node --version
- pnpm (Package Manager)
- Verify:
pnpm --version
- Verify:
- Rust (Latest stable)
- Install from rustup.rs
- Verify:
rustc --versionandcargo --version
- Git
- Download from git-scm.com
- Verify:
git --version
Platform-Specific Requirements
Windows
- Visual Studio Build Tools or Visual Studio Community
- Required for compiling Rust code
- Install "Desktop development with C++" workload
macOS
- Xcode Command Line Tools
Linux
- Build Essentials
Fedora
sudo dnf install webkit2gtk3-devel.x86_64 openssl-devel libappindicator librsvg2-devel
Note: Always use the develop branch for development. The main branch is for stable releases.
Installing Dependencies
Frontend Dependencies
This installs all Node.js dependencies including:
- SvelteKit and Svelte
- TypeScript and type definitions
- TailwindCSS and plugins
- Tauri API bindings
- All other frontend libraries
Backend Dependencies
Rust dependencies are managed by Cargo and install automatically when you build:
Or they'll install when you run the dev server.
Development Server
Quick Start
The easiest way to start developing:
This command:
- Installs dependencies (if needed)
- Starts the Tauri dev server
- Opens the app window
- Enables hot reload
Manual Start
If you prefer to run commands separately:
Frontend Only (Web)
To run just the frontend without Tauri:
Note: Some features won't work without Tauri backend (file system, native APIs, etc.)
Development Environment
IDE Setup
Recommended: VS Code
- Install VS Code extensions:
- Svelte for VS Code: Svelte language support
- rust-analyzer: Rust language support
- Tailwind CSS IntelliSense: Tailwind autocomplete
- TypeScript and JavaScript: Built-in
- Prettier: Code formatting
- ESLint: Code linting
- VS Code Settings:
Building for Production
Frontend Build
Outputs to build/ directory.
Desktop App Build
Creates installers in src-tauri/target/release/:
- Windows:
.exeinstaller - macOS:
.dmgfile - Linux:
.AppImageor.debpackage
Build Configuration
Tauri configuration is in src-tauri/tauri.conf.json:
Debugging
Frontend Debugging
- Browser DevTools: Available in dev mode
- Right-click → Inspect
- Or use Tauri devtools command
- VS Code Debugging: Configure launch.json
- Console Logging: Use
console.log()or the logger utility
Backend Debugging
- Rust Debugger: Use VS Code with rust-analyzer
- Set breakpoints in Rust code
- Use "Debug" launch configuration
- Logging: Use Rust's log crate
- Tauri Devtools: Enable in dev mode
Common Issues
Port Already in Use
If port 1420 is already in use:
Rust Compilation Errors
- Update Rust:
- Clean Build:
Node Modules Issues
- Clear Cache:
- Update pnpm:
Tauri Not Found
If Tauri CLI is missing:
Development Tips
Hot Reload
- Frontend changes reload automatically
- Backend changes require restart
- Use
npm run tauri devfor full hot reload
Type Checking
Run TypeScript type checking:
Code Formatting
Format code automatically:
Linting
Check code quality:
Fix issues automatically:
Next Steps
Now that you're set up:
- Architecture Overview - Understand the system
- Frontend Development - Learn SvelteKit
- Backend Development - Learn Rust/Tauri
- Adding Features - Start coding