mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-10 12:05:53 +00:00
* Fix Ghostty terminal spawn issues with dynamic delays - Add isTerminalRunning() helper to check if terminal app is running - Implement dynamic delays for Ghostty based on running state - 0.5s delay for warm start (already running) - 2.0s delay for cold start (needs to launch) - Add window count checking to ensure UI is ready - Fix issue where commands weren't executed when Ghostty had no windows Fixes #371 * Fix CI: Skip Node.js check when using pre-built web artifacts - Add SKIP_NODE_CHECK=true environment variable to Mac CI build step - Prevents install-node.sh from failing when pnpm is not available - CI downloads pre-built web artifacts, so Node.js/pnpm are not needed * Fix CI: Properly handle pre-built web artifacts in Mac build - Add early exit in build-web-frontend.sh when CI has pre-built artifacts - Set CI=true environment variable in all Xcode build steps - Update node-path-setup.sh to skip Node.js check in CI - Copy pre-built artifacts directly without attempting rebuild - This prevents pnpm dependency errors in CI environment * Fix SwiftFormat modifier order issue - Change 'static weak' to 'weak static' in AppDelegate - SwiftFormat requires consistent modifier ordering * Fix CI: Include native binaries in web artifacts - Add web/native/ directory to uploaded artifacts - Add web/bin/vt script to uploaded artifacts - This ensures Mac tests can find the vibetunnel executable - Fixes test failures due to missing server binary * Fix CI: Copy native binaries from web artifacts in Mac CI - Update artifact extraction to copy web/native/ directory - Also copy web/bin/ directory for vt script - Add debugging output to show native contents - This ensures tests can find the vibetunnel executable |
||
|---|---|---|
| .. | ||
| docs | ||
| scripts | ||
| VibeTunnel | ||
| VibeTunnel-Mac.xcodeproj | ||
| VibeTunnelTests | ||
| .github-config | ||
| .gitignore | ||
| .swiftformat | ||
| .swiftlint.yml | ||
| bun.lock | ||
| CLAUDE.md | ||
| package-lock.json | ||
| package.json | ||
| Package.swift | ||
| README.md | ||
| VibeTunnel-Info.plist | ||
VibeTunnel macOS App
This directory contains the macOS version of VibeTunnel.
Quick Start
Building
# Using Xcode
xcodebuild -workspace VibeTunnel.xcworkspace -scheme VibeTunnel build
# Using build script
./scripts/build.sh
Running Tests
xcodebuild -workspace VibeTunnel.xcworkspace -scheme VibeTunnel test
Creating Release
./scripts/build.sh --configuration Release --sign
./scripts/create-dmg.sh build/Build/Products/Release/VibeTunnel.app
Project Structure
mac/
├── VibeTunnel/ # Source code
│ ├── Core/ # Core services and models
│ ├── Presentation/ # Views and UI components
│ └── Utilities/ # Helper utilities
├── VibeTunnelTests/ # Unit tests
├── scripts/ # Build and release scripts
├── docs/ # macOS-specific documentation
└── private/ # Signing keys (not in git)
Scripts
build.sh- Build the app with optional signingcreate-dmg.sh- Create a DMG for distributionrelease.sh- Full release processmonitor-ci.sh- Monitor CI build statussign-and-notarize.sh- Code signing and notarization
Documentation
See docs/ for macOS-specific documentation:
- Code signing setup
- Release process
- Sparkle update framework
- Development signing
CI/CD
The app is built automatically on GitHub Actions:
- On every push to main
- On pull requests
- For releases (tagged with v*)
See .github/workflows/swift.yml for the build configuration.