Skip to content

Commit 03b518a

Browse files
committed
Merge branch 'main' of https://github.com/manaflow-ai/cmux into fix/update-pill-first-click
# Conflicts: # Sources/Update/UpdateController.swift
2 parents 4aee6fc + 57237d9 commit 03b518a

65 files changed

Lines changed: 7701 additions & 1090 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build-ghosttykit.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ concurrency:
1212

1313
jobs:
1414
build-ghosttykit:
15-
# Never run WarpBuild jobs for fork pull requests (avoid billing on external PRs).
16-
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
1715
runs-on: warp-macos-15-arm64-6x
1816
timeout-minutes: 20
1917
steps:
@@ -95,6 +93,10 @@ jobs:
9593
GH_TOKEN: ${{ secrets.GHOSTTY_RELEASE_TOKEN }}
9694
run: |
9795
set -euo pipefail
96+
if [ -z "${GH_TOKEN:-}" ]; then
97+
echo "GHOSTTY_RELEASE_TOKEN not available (fork PR), skipping upload"
98+
exit 0
99+
fi
98100
TAG="xcframework-${{ steps.ghostty-sha.outputs.sha }}"
99101
gh release create "$TAG" \
100102
--repo manaflow-ai/ghostty \

.github/workflows/ci-macos-compat.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ on:
88

99
jobs:
1010
compat-tests:
11-
# Only run for the repo itself, not forks (GhosttyKit download needs repo access).
12-
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
1311
strategy:
1412
fail-fast: false
1513
matrix:

.github/workflows/ci.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ jobs:
7575
run: bun tsc --noEmit
7676

7777
tests:
78-
# Never run WarpBuild jobs for fork pull requests (avoid billing on external PRs).
79-
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
8078
runs-on: warp-macos-15-arm64-6x
8179
timeout-minutes: 30
8280
steps:
@@ -241,7 +239,6 @@ jobs:
241239
# Keep lag validation separate from UI regressions so functional UI failures
242240
# and performance regressions stay isolated. Broader interactive UI suites
243241
# still run via test-e2e.yml on GitHub-hosted runners.
244-
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
245242
runs-on: warp-macos-15-arm64-6x
246243
timeout-minutes: 20
247244
steps:
@@ -404,7 +401,6 @@ jobs:
404401
rm -f /tmp/create-virtual-display
405402
406403
ui-regressions:
407-
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
408404
runs-on: warp-macos-15-arm64-6x
409405
timeout-minutes: 25
410406
steps:

CLAUDE.md

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,47 @@ Run the setup script to initialize submodules and build GhosttyKit:
1010

1111
## Local dev
1212

13-
After making code changes, always run the reload script with a tag to launch the Debug app:
13+
After making code changes, always run the reload script with a tag to build the Debug app:
1414

1515
```bash
1616
./scripts/reload.sh --tag fix-zsh-autosuggestions
1717
```
1818

19-
When reporting a tagged reload result in chat, use the format for your agent type:
19+
By default, `reload.sh` builds but does **not** launch the app. The script prints the `.app` path so the user can cmd-click to open it. Pass `--launch` to kill any existing instance and open the app automatically:
2020

21-
**Claude Code** (markdown link with correct derived-data path, cmd+clickable):
21+
```bash
22+
./scripts/reload.sh --tag fix-zsh-autosuggestions --launch
23+
```
24+
25+
`reload.sh` prints an `App path:` line with the absolute path to the built `.app`. Use that path to build a cmd-clickable `file://` URL. Steps:
26+
27+
1. Grab the path from the `App path:` line in `reload.sh` output.
28+
2. Prepend `file://` and URL-encode spaces as `%20`. Do not hardcode any part of the path.
29+
3. Format it as a markdown link using the template for your agent type.
30+
31+
Example. If `reload.sh` output contains:
32+
```
33+
App path:
34+
/Users/someone/Library/Developer/Xcode/DerivedData/cmux-my-tag/Build/Products/Debug/cmux DEV my-tag.app
35+
```
36+
37+
**Claude Code** outputs:
2238
```markdown
2339
=======================================================
24-
[cmux DEV <tag-name>.app](file:///Users/lawrencechen/Library/Developer/Xcode/DerivedData/cmux-<tag-name>/Build/Products/Debug/cmux%20DEV%20<tag-name>.app)
40+
[cmux DEV my-tag.app](file:///Users/someone/Library/Developer/Xcode/DerivedData/cmux-my-tag/Build/Products/Debug/cmux%20DEV%20my-tag.app)
2541
=======================================================
2642
```
2743

28-
**Codex** (plain text format):
44+
**Codex** outputs:
2945
```
3046
=======================================================
31-
[<tag-name>: file:///Users/lawrencechen/Library/Developer/Xcode/DerivedData/cmux-<tag-name>/Build/Products/Debug/cmux%20DEV%20<tag-name>.app](file:///Users/lawrencechen/Library/Developer/Xcode/DerivedData/cmux-<tag-name>/Build/Products/Debug/cmux%20DEV%20<tag-name>.app)
47+
[my-tag: file:///Users/someone/Library/Developer/Xcode/DerivedData/cmux-my-tag/Build/Products/Debug/cmux%20DEV%20my-tag.app](file:///Users/someone/Library/Developer/Xcode/DerivedData/cmux-my-tag/Build/Products/Debug/cmux%20DEV%20my-tag.app)
3248
=======================================================
3349
```
3450

35-
Never use `/tmp/cmux-<tag>/...` app links in chat output. If the expected DerivedData path is missing, resolve the real `.app` path and report that `file://` URL.
51+
Never use `/tmp/cmux-<tag>/...` app links in chat output.
3652

37-
After making code changes, always use `reload.sh --tag` to build and launch. **Never run bare `xcodebuild` or `open` an untagged `cmux DEV.app`.** Untagged builds share the default debug socket and bundle ID with other agents, causing conflicts and stealing focus.
53+
After making code changes, always use `reload.sh --tag` to build. **Never run bare `xcodebuild` or `open` an untagged `cmux DEV.app`.** Untagged builds share the default debug socket and bundle ID with other agents, causing conflicts and stealing focus.
3854

3955
```bash
4056
./scripts/reload.sh --tag <your-branch-slug>
@@ -58,10 +74,11 @@ When rebuilding cmuxd for release/bundling, always use ReleaseFast:
5874
cd cmuxd && zig build -Doptimize=ReleaseFast
5975
```
6076

61-
`reload` = kill and launch the Debug app only (tag required):
77+
`reload` = build the Debug app (tag required). Pass `--launch` to also kill existing and open:
6278

6379
```bash
6480
./scripts/reload.sh --tag <tag>
81+
./scripts/reload.sh --tag <tag> --launch
6582
```
6683

6784
`reloadp` = kill and launch the Release app:

0 commit comments

Comments
 (0)