Quick reference for ModMove build and deployment scripts.
Recommended: Use run.sh for development
./run.sh # Build, deploy, and run (auto-versioned)
./run.sh v1234 # Build, deploy, and run with specific versionThis single command:
- Checks for existing ModMove processes
- Builds the app (Release configuration)
- Stops all running instances
- Deploys to
/Applications/ModMove-jli-<version>.app - Launches the app
- Verifies exactly one instance is running
- Shows which version is running
./build.shBuilds ModMove in Release configuration to ./build/ModMove.app.
Use this when you want to build without deploying.
./deploy.sh # Auto-versioned (timestamp)
./deploy.sh v1234 # Specific versionDeploys an existing build to /Applications/ModMove-jli-<version>.app.
- Stops any running ModMove instances
- Cleans up old versions (keeps last 3)
- Requires
./build.shto be run first
./run.sh # Auto-versioned (timestamp: vMMDD-HHMM)
./run.sh v1234 # Specific versionDoes everything in one command:
- Builds from scratch
- Deploys to /Applications
- Launches the app
- Verifies process state
This is the recommended script for development.
All scripts now include process verification with ps and grep:
- Shows running ModMove instances before/after operations
- Identifies which version is running (checks binary path)
- Warns if multiple instances are running
- Color-coded output for easy scanning
Example output:
Process verification:
✓ Exactly 1 instance running (correct)
Running instances:
PID 12345: /Applications/ModMove-jli-v1206-1755.app/Contents/MacOS/ModMove [CURRENT VERSION]
- Auto-versioning: If no version specified, uses timestamp (e.g.,
v1206-1755) - Named versions: Pass version as argument (e.g.,
v1.0,v-beta,v-stable) - Cleanup: Automatically keeps only last 3 versions in /Applications
# Development workflow (quick iteration)
./run.sh # Quick build-deploy-run with timestamp version
# Release workflow
./run.sh v1.0.0 # Build and deploy release version
./run.sh v1.0.0-beta1 # Build and deploy beta version
# Manual control
./build.sh # Build only
./deploy.sh v-test # Deploy with specific version
open /Applications/ModMove-jli-v-test.app # Launch manually
# Check what's running
ps aux | grep -i modmoveScripts use color output for clarity:
- 🔵 Blue: Section headers
- 🟡 Yellow: Operations in progress
- 🟢 Green: Success/current version
- 🔴 Red: Errors/warnings
- Use
./run.shfor most development work - Use versioned names for releases:
./run.sh v1.0.0 - Scripts verify only one instance is running
- Old versions auto-cleaned (keeps last 3)
- All scripts stop existing instances before deploying