Build
Local package checks, binary rebuild flow, theme generation, and GitHub Pages publishing setup.
Package Checks
swift build
swift test
./Script/test.sh
./Script/test.sh verifies the package across macOS, iOS, iOS Simulator, and Mac Catalyst destinations.
Rebuild libghostty
./Script/build.sh
./Script/build.sh \
--platforms macos,ios \
--source /path/to/ghostty \
--skip-tests
The build scripts apply patches from Patches/ghostty, build target libraries with Zig, merge them into GhosttyKit.xcframework, and update release artifacts.
Release Manifest
./Script/build-manifest.sh build/GhosttyKit.xcframework.zip <download_url>
The script sha256-hashes the zip and substitutes the URL and checksum into Package.swift.template to produce Package.swift; both arguments are required. When products, targets, or binary metadata change, keep Package.swift, Package.local.swift, and Package.swift.template aligned.
Theme Generation
./Script/generate-themes.sh
This regenerates Sources/GhosttyTheme/Themes from iTerm2-Color-Schemes.
GitHub Pages
The documentation site is a static site under docs/. .github/workflows/pages.yml publishes it with GitHub Actions on every main push that changes docs. docs/.nojekyll keeps GitHub Pages serving files exactly as written.
Local Preview
cd docs
python3 -m http.server 8000