spb/forge-studio
Public
The Instruments of LLM training — a native macOS cockpit for Forge. Train language models from scratch on Apple Silicon without a terminal.
1#!/bin/bash2# Author: Simon-Pierre Boucher — contact@spboucher.ai3# Build the SwiftPM executable and wrap it into ForgeStudio.app (ad-hoc4# signed — fast local iteration; scripts/notarize.sh does the real signing).5set -euo pipefail6cd "$(dirname "$0")/.."78CONFIG="${1:-release}"9swift build -c "$CONFIG"1011BIN=".build/$CONFIG/ForgeStudio"12APP_DIR="dist/ForgeStudio.app"13rm -rf "$APP_DIR"14mkdir -p "$APP_DIR/Contents/MacOS" "$APP_DIR/Contents/Resources"1516cp "$BIN" "$APP_DIR/Contents/MacOS/ForgeStudio"1718cat > "$APP_DIR/Contents/Info.plist" <<'PLIST'19<?xml version="1.0" encoding="UTF-8"?>20<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">21<plist version="1.0">22<dict>23 <key>CFBundleName</key><string>Forge Studio</string>24 <key>CFBundleDisplayName</key><string>Forge Studio</string>25 <key>CFBundleIdentifier</key><string>ai.spboucher.forge-studio</string>26 <key>CFBundleExecutable</key><string>ForgeStudio</string>27 <key>CFBundleVersion</key><string>1</string>28 <key>CFBundleShortVersionString</key><string>0.1.0</string>29 <key>CFBundlePackageType</key><string>APPL</string>30 <key>LSMinimumSystemVersion</key><string>14.0</string>31 <key>LSApplicationCategoryType</key><string>public.app-category.developer-tools</string>32 <key>NSHighResolutionCapable</key><true/>33 <key>NSHumanReadableCopyright</key><string>© Simon-Pierre Boucher</string>34</dict>35</plist>36PLIST3738codesign --force --deep --sign - "$APP_DIR"39codesign --verify --deep --strict --verbose=2 "$APP_DIR"40echo "OK: $APP_DIR"41