Build Guide
VibeCode Build Guide
Section titled “VibeCode Build Guide”Complete guide for building the VibeCode application.
Quick Start
Section titled “Quick Start”./scripts/build-complete.shThis single command builds:
- Swift VM Manager
- Next.js Frontend (if needed)
- Tauri Desktop App
Prerequisites
Section titled “Prerequisites”Before building, ensure you have:
- Swift (5.9+): For VM manager
- Rust/Cargo: For Tauri app
- Bun or npm: For frontend (optional, only if frontend needs building)
- Xcode Command Line Tools: For macOS development
Check if prerequisites are installed:
swift --versioncargo --versionbun --version # or npm --versionBuild Process
Section titled “Build Process”Step 1: Swift VM Manager
Section titled “Step 1: Swift VM Manager”The build script compiles the Swift VM manager:
cd VibeCodeSwiftswift build -c releasecodesign --force --sign - --entitlements VibeCode.entitlements .build/release/VibeCodeOutput: VibeCodeSwift/.build/release/VibeCode
Step 2: Frontend (Conditional)
Section titled “Step 2: Frontend (Conditional)”If the Tauri app needs a frontend build and frontendDist directory doesn’t exist, the script will:
bun run build:tauri # or npm run build:tauriOutput: public/ directory (or configured frontendDist)
Step 3: Tauri App
Section titled “Step 3: Tauri App”The script builds the Tauri desktop application:
cd src-tauricargo tauri buildOutput:
- macOS:
src-tauri/target/release/bundle/macos/VibeCode.app - DMG:
src-tauri/target/release/bundle/macos/VibeCode.dmg
Build Script Details
Section titled “Build Script Details”scripts/build-complete.sh
Section titled “scripts/build-complete.sh”A comprehensive build script that:
- ✅ Checks all prerequisites
- ✅ Builds Swift VM manager
- ✅ Conditionally builds frontend
- ✅ Builds Tauri app
- ✅ Shows output locations
- ✅ Provides clear error messages
Usage:
./scripts/build-complete.shWhat it does:
- Validates prerequisites (Swift, Cargo, Bun/npm)
- Builds Swift VM manager in release mode
- Signs Swift binary (development signing)
- Checks if frontend needs building
- Builds frontend if needed
- Copies VM manager binary to Tauri binaries directory
- Builds Tauri app
- Shows output file locations
Alternative Build Scripts
Section titled “Alternative Build Scripts”Swift Only
Section titled “Swift Only”./scripts/build-vibecode.shBuilds only the Swift VM manager.
Tauri with VMs
Section titled “Tauri with VMs”./scripts/build-tauri-with-vms.shBuilds Tauri app (assumes VM manager already built).
Output Locations
Section titled “Output Locations”After a successful build:
Swift VM Manager:
VibeCodeSwift/.build/release/VibeCodeTauri App Bundle (macOS):
src-tauri/target/release/bundle/macos/VibeCode.appsrc-tauri/target/release/bundle/macos/VibeCode.dmgTesting the Build
Section titled “Testing the Build”Test Swift VM Manager
Section titled “Test Swift VM Manager”./VibeCodeSwift/.build/release/VibeCodeTest Tauri App
Section titled “Test Tauri App”open src-tauri/target/release/bundle/macos/VibeCode.appTroubleshooting
Section titled “Troubleshooting”Build Fails: Missing Prerequisites
Section titled “Build Fails: Missing Prerequisites”Error: Swift not found or Cargo not found
Solution: Install missing tools:
Build Fails: Code Signing Error
Section titled “Build Fails: Code Signing Error”Error: codesign failed
Solution: This is expected in development. The script will continue with a warning. For production builds, configure proper code signing certificates.
Build Fails: Frontend Build Error
Section titled “Build Fails: Frontend Build Error”Error: Frontend build fails
Solution:
- Check
package.jsonexists - Run
npm installorbun install - Check
next.config.tauri.jsexists
Build Fails: Tauri Build Error
Section titled “Build Fails: Tauri Build Error”Error: cargo tauri build fails
Solution:
- Check Rust is installed:
cargo --version - Check Tauri CLI:
cargo install tauri-cli - Check
src-tauri/Cargo.tomlexists - Check
src-tauri/tauri.conf.jsonis valid
Development Builds
Section titled “Development Builds”For faster development builds:
Swift Debug Build
Section titled “Swift Debug Build”cd VibeCodeSwiftswift build # Debug mode (faster)Tauri Dev Mode
Section titled “Tauri Dev Mode”cd src-tauricargo tauri dev # Hot reload developmentProduction Builds
Section titled “Production Builds”For production releases:
- Use
build-complete.sh(builds in release mode) - Configure proper code signing certificates
- Test the app bundle thoroughly
- Create DMG for distribution
CI/CD Integration
Section titled “CI/CD Integration”The build script is designed to work in CI/CD:
# Example GitHub Actions- name: Build VibeCode run: ./scripts/build-complete.shNext Steps
Section titled “Next Steps”After building:
- Test VM Management: Verify VM start/stop works
- Test Services: Check PostgreSQL, Valkey, Node.js connectivity
- Test UI: Verify Tauri app UI functions correctly
- Deploy: Distribute the app bundle or DMG