cmux Ghostty
GhosttyKit builds
When rebuilding GhosttyKit.xcframework, always use Release optimizations:
cd ghostty && zig build -Demit-xcframework=true -Dxcframework-target=universal -Doptimize=ReleaseFast
Submodule workflow
Ghostty changes must be committed in the ghostty submodule and pushed to the manaflow-ai/ghostty fork. Keep docs/ghostty-fork.md up to date with any fork changes and conflict notes.
cd ghostty
git remote -v # origin = upstream, manaflow = fork
git checkout -b <branch>
git add <files>
git commit -m "..."
git push manaflow <branch>
To keep the fork up to date with upstream:
cd ghostty
git fetch origin
git checkout main
git merge origin/main
git push manaflow main
Then update the parent repo with the new submodule SHA:
cd ..
git add ghostty
git commit -m "Update ghostty submodule"
Submodule safety
When modifying a submodule, always push the submodule commit to its remote main branch before committing the updated pointer in the parent repo. Never commit on a detached HEAD or temporary branch; the commit can be orphaned and lost.
Verify with:
cd <submodule> && git merge-base --is-ancestor HEAD origin/main
Detailed reference
- Read references/submodule-safety.md before committing submodule pointer updates or resolving Ghostty fork conflicts.



