SKILL.md
553 tokens · o200k_base · 2,318 bytes
Source excerpt starting at line 1.---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.