
Cmux Ghostty
- 2.5k installs
- 25.6k repo stars
- Updated August 5, 2026
- manaflow-ai/cmux
cmux-ghostty is a cmux agent skill that documents Ghostty submodule workflows and ReleaseFast GhosttyKit.xcframework builds for developers modifying the cmux terminal engine fork.
About
cmux-ghostty is a manaflow-ai/cmux agent skill governing the Ghostty submodule and GhosttyKit.xcframework build pipeline inside the cmux agent terminal. It requires ReleaseFast Zig builds via cd ghostty && zig build -Demit-xcframework=true -Dxcframework-target=universal -Doptimize=ReleaseFast, commits changes in the ghostty submodule pushed to the manaflow-ai/ghostty fork, and updates the parent repo submodule SHA only after pushing to main. The skill warns against detached-HEAD commits that orphan submodule SHAs and mandates git merge-base --is-ancestor HEAD origin/main verification before parent pointer updates. It references submodule-safety.md for fork conflict resolution and expects docs/ghostty-fork.md to stay current. Reach for cmux-ghostty when rebuilding GhosttyKit, syncing the ghostty fork with upstream, or committing submodule pointer updates in cmux.
- Ghostty-focused cmux terminal setup
- Multiplexed pane and session workflows
- Reproducible shell environments for agents
- Local dev terminal ergonomics
- CLI-first operator patterns
Cmux Ghostty by the numbers
- 2,530 all-time installs (skills.sh)
- +309 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #81 of 550 CLI & Terminal skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/manaflow-ai/cmux --skill cmux-ghosttyAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2.5k |
|---|---|
| repo stars | ★ 25.6k |
| Last updated | August 5, 2026 |
| Repository | manaflow-ai/cmux ↗ |
How do you rebuild GhosttyKit for cmux safely?
Configure cmux sessions and Ghostty terminal workflows so coding agents get stable multiplexed shells, pane layouts, and reproducible local dev environments.
Who is it for?
cmux contributors modifying the ghostty submodule, rebuilding GhosttyKit.xcframework, or syncing the manaflow-ai/ghostty fork with upstream Ghostty.
Skip if: Skip cmux-ghostty when editing cmux backend API routes, socket policies, or frontend React code without touching the ghostty submodule or native terminal build.
When should I use this skill?
User modifies ghostty submodule, rebuilds GhosttyKit.xcframework, updates submodule pointer, or documents Ghostty fork conflicts in cmux.
What you get
ReleaseFast GhosttyKit.xcframework build, pushed ghostty fork commit, updated parent submodule SHA, and documented fork conflict notes in docs/ghostty-fork.md.
- GhosttyKit.xcframework build
- updated ghostty submodule SHA
- docs/ghostty-fork.md conflict notes
By the numbers
- Uses zig build with 3 ReleaseFast flags: emit-xcframework, xcframework-target=universal, optimize=ReleaseFast
- Documents 2 git remotes in ghostty: origin upstream and manaflow fork
- Includes submodule-safety.md reference for pointer and conflict rules
Files
cmux Ghostty
GhosttyKit builds
When rebuilding GhosttyKit.xcframework, always use Release optimizations:
cd ghostty && zig build -Demit-xcframework=true -Dxcframework-target=universal -Doptimize=ReleaseFastSubmodule 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 mainThen 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/mainDetailed reference
- Read references/submodule-safety.md before committing submodule pointer updates or resolving Ghostty fork conflicts.
interface:
display_name: "cmux Ghostty"
short_description: "Handle Ghostty submodule, fork, and GhosttyKit build workflow safely."
default_prompt: "Use this skill when modifying the ghostty submodule, rebuilding GhosttyKit.xcframework, pushing Ghostty fork changes, updating the parent submodule pointer, or editing docs/ghostty-fork.md."
Submodule Safety
Submodule commits can be easy to lose. The parent repository records only a commit SHA, not the branch that made the SHA reachable.
Safe sequence
1. Enter the submodule. 2. Create or select the intended branch. 3. Commit the submodule changes. 4. Push the submodule commit to the correct remote. 5. Verify the pushed branch contains the commit. 6. Return to the parent repository. 7. Commit the updated submodule pointer.
For Ghostty:
cd ghostty
git remote -v
git checkout -b <branch>
git add <files>
git commit -m "..."
git push manaflow <branch>If the parent pointer is supposed to track fork main, make sure the commit is an ancestor of that remote branch:
git fetch manaflow main
git merge-base --is-ancestor HEAD manaflow/mainThe top-level CLAUDE note uses origin/main as the generic verification form for submodules. In the Ghostty submodule, check the actual remote names first because origin may be upstream and manaflow may be the fork.
Detached HEAD hazard
Do not commit submodule changes on a detached HEAD and then update the parent pointer. That creates a parent commit pointing at a SHA that may not be reachable from any remote branch. A future checkout or CI job can fail to fetch it.
Fork documentation
Keep docs/ghostty-fork.md updated when fork changes or conflict notes matter for future upstream merges. The point is to preserve why the fork diverged, not just that it diverged.
GhosttyKit optimization
Rebuild GhosttyKit.xcframework with ReleaseFast:
cd ghostty && zig build -Demit-xcframework=true -Dxcframework-target=universal -Doptimize=ReleaseFastDebug or default optimization builds can hide performance characteristics and should not be used for the checked-in framework refresh path.
Related skills
How it compares
Use cmux-ghostty over generic Git submodule guides when cmux-specific Ghostty fork remotes, ReleaseFast xcframework flags, and manaflow push order matter.
FAQ
What Zig command builds GhosttyKit for cmux?
cmux-ghostty requires cd ghostty && zig build -Demit-xcframework=true -Dxcframework-target=universal -Doptimize=ReleaseFast to produce an optimized universal GhosttyKit.xcframework for the cmux native client.
How should cmux-ghostty submodule commits be pushed?
cmux-ghostty commits Ghostty changes inside the ghostty submodule, pushes to the manaflow remote fork branch, verifies HEAD is ancestor of origin/main, then updates the parent cmux repo with git add ghostty and a submodule pointer commit.
Why does cmux-ghostty warn about detached HEAD?
cmux-ghostty forbids committing on a detached HEAD in the ghostty submodule because those commits can be orphaned and lost; always create a branch, push to manaflow main, and verify with git merge-base --is-ancestor HEAD origin/main.