mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-03-25 09:25:50 +00:00
2.9 KiB
2.9 KiB
CLI Versioning Guide
This document explains how versioning works for the VibeTunnel CLI tools and where version numbers need to be updated.
Overview
VibeTunnel uses a unified CLI binary approach:
- vibetunnel - The main Go binary that implements terminal forwarding
- vt - A symlink to vibetunnel that provides simplified command execution
Version Locations
1. VibeTunnel Binary Version
File: /linux/Makefile
Line: 8
Format: VERSION := 1.0.6
This version is injected into the binary at build time and displayed when running:
vibetunnel version
# Output: VibeTunnel Linux v1.0.6
vt --version
# Output: VibeTunnel Linux v1.0.6 (same as vibetunnel)
2. macOS App Version
File: /mac/VibeTunnel/version.xcconfig
Format:
MARKETING_VERSION = 1.0.6
CURRENT_PROJECT_VERSION = 108
Version Checking in macOS App
The macOS VibeTunnel app's CLI installer (/mac/VibeTunnel/Utilities/CLIInstaller.swift):
- Installation Check: Both
/usr/local/bin/vtand/usr/local/bin/vibetunnelmust exist - Symlink Check: Verifies that
vtis a symlink tovibetunnel - Version Comparison: Only checks the vibetunnel binary version
- Update Detection: Prompts for update if version mismatch or vt needs migration
How to Update Versions
Updating Version Numbers
- Edit
/linux/Makefileand updateVERSION - Edit
/mac/VibeTunnel/version.xcconfigand update both:MARKETING_VERSION(should match Makefile version)CURRENT_PROJECT_VERSION(increment by 1)
- Rebuild with
make buildor./build-universal.sh
Build Process
macOS App Build
The macOS build process automatically:
- Runs
/linux/build-universal.shto build vibetunnel binary - Copies vibetunnel to the app bundle's Resources directory
- The installer creates the vt symlink during installation
Manual CLI Build
For development or Linux installations:
cd /linux
make build # Builds vibetunnel binary
# or
./build-universal.sh # Builds universal binary for macOS
Installation Process
When installing CLI tools:
- vibetunnel binary is copied to
/usr/local/bin/vibetunnel - A symlink is created:
/usr/local/bin/vt→/usr/local/bin/vibetunnel - When executed as
vt, the binary detects this and runs in simplified mode
Migration from Old VT Script
For users with the old bash vt script:
- The installer detects that vt is not a symlink
- Backs up the old script to
/usr/local/bin/vt.bak - Creates the new symlink structure
Best Practices
- Patch Versions: Increment when fixing bugs (1.0.6 → 1.0.7)
- Minor Versions: Increment when adding features (1.0.x → 1.1.0)
- Major Versions: Increment for breaking changes (1.x.x → 2.0.0)
- Keep Versions in Sync: Always update both Makefile and version.xcconfig together
- Document Changes: Update CHANGELOG when changing versions