cmux-ghostty Skill

Ghostty submodule and GhosttyKit workflow rules for cmux. Use when modifying the ghostty submodule, rebuilding GhosttyKit.xcframework, updating the parent submodule pointer, or documenting fork conflict notes.

Install
npx skills add 'https://github.com/manaflow-ai/cmux/tree/main/skills/cmux-ghostty'
Download bundle ↓

SKILL.md

SKILL.mdBrowse 3 files
View on GitHub
---name: cmux-ghosttydescription: "Ghostty submodule and GhosttyKit workflow rules for cmux. Use when modifying the ghostty submodule, rebuilding GhosttyKit.xcframework, updating the parent submodule pointer, or documenting fork conflict notes."--- # cmux Ghostty ## GhosttyKit builds Always rebuild the xcframework with Release optimizations: ```bashcd ghostty && zig build -Demit-xcframework=true -Dxcframework-target=universal -Doptimize=ReleaseFast``` ## Submodule workflow Ghostty changes are committed in the `ghostty` submodule and pushed to the `manaflow-ai/ghostty` fork. Keep `docs/ghostty-fork.md` current with fork changes and conflict notes. Always run `git remote -v` first and push to whichever remote is `manaflow-ai/ghostty`. `.gitmodules` sets the submodule URL to that fork, so in a normal checkout it is `origin`; older setups tracked upstream as `origin` and added the fork as `manaflow`. Substitute the right name below. ```bashcd ghosttygit remote -v                  # find the manaflow-ai/ghostty remote (usually origin)git checkout -b <branch>git add <files>git commit -m "..."git push origin <branch>``` To pull in changes from upstream `ghostty-org/ghostty`, add it as an explicit remote first, since no checkout has it by default: ```bashcd ghosttygit remote add upstream https://github.com/ghostty-org/ghostty.git   # oncegit fetch upstreamgit checkout maingit merge upstream/maingit push origin main``` Then record the new SHA in the parent repo: ```bashcd ..git add ghosttygit commit -m "Update ghostty submodule"``` ## Submodule safety For any submodule (ghostty, `vendor/bonsplit`, `homebrew-cmux`), push the submodule commit to its remote branch **before** committing the updated pointer in the parent repo. Never commit on a detached HEAD or a temporary branch: the parent then points at a SHA unreachable from any remote branch, and a future checkout or CI job fails to fetch it. Verify the commit is reachable from the branch the pointer should track, using the remote you just pushed to: ```bashcd ghostty && git fetch origin main && git merge-base --is-ancestor HEAD origin/main``` ## Detailed reference - [references/submodule-safety.md](references/submodule-safety.md): the ordered safe sequence and fork documentation expectations. 
Discovery context

Discovered by repository scan. No exact path reference found in the snapshot’s root CLAUDE.md.