Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
adfa609
docs: rebrand cmux → Programa across docs
arzafran Jul 1, 2026
f869dc6
refactor: rename Cmux* symbols → Programa* (Phase 1)
arzafran Jul 1, 2026
137a5df
refactor: rename Cmux*/cmux source files → Programa* (Phase 2)
arzafran Jul 1, 2026
e64ac30
refactor: rename test targets cmuxTests/cmuxUITests → programaTests/p…
arzafran Jul 1, 2026
97b358c
refactor: rename schemes/CLI target/scripts/CI cmux → programa (Phase 4)
arzafran Jul 1, 2026
f4790e1
feat: migrate config paths cmux → programa with legacy fallback (Phas…
arzafran Jul 1, 2026
7752d02
refactor: rename DockTile plugin CmuxDockTilePlugin → ProgramaDockTil…
arzafran Jul 1, 2026
e9fccd9
refactor: rename AppleScript CmuxScript* → ProgramaScript* + rebrand …
arzafran Jul 1, 2026
ac5fa12
refactor: rename browser JS bridge __cmux*/cmux* handlers → __program…
arzafran Jul 1, 2026
6d2b03b
refactor: rename Info.plist commit key CMUXCommit → ProgramaCommit (P…
arzafran Jul 1, 2026
596394e
feat: migrate cmux UserDefaults keys → programa with one-time shim (P…
arzafran Jul 1, 2026
34dea3a
docs: capture rebrand progress + precise remaining-contract map
arzafran Jul 1, 2026
75a23ba
fix(ci): update tests/ guard scripts to programa scheme (Phase 4 foll…
arzafran Jul 1, 2026
bf15235
chore: rebrand release artifacts cmux → programa (Phase 6h)
arzafran Jul 1, 2026
6f1026f
docs: update rebrand progress (6h release artifacts + CI-guard fix done)
arzafran Jul 1, 2026
0e67dd1
ci: raise macos-26 compat-tests timeout 45→60m
arzafran Jul 2, 2026
e05126b
feat: rebrand user-facing UI strings cmux → Programa (Phase 6g)
arzafran Jul 2, 2026
56d67ff
docs: mark 6g brand strings + 6h release artifacts done in progress map
arzafran Jul 2, 2026
d8127de
fix: resolve/install the bundled CLI as programa, not cmux (Phase 6f …
arzafran Jul 2, 2026
5b0a7c9
refactor: rename shell-integration cmux_* → programa_* in lockstep (P…
arzafran Jul 2, 2026
cc361de
fix: align CLI binary fallback, repo URLs, socket paths to programa (…
arzafran Jul 2, 2026
1da37ee
refactor: rename remaining internal cmux identifiers → programa (Phas…
arzafran Jul 2, 2026
a44fc31
docs: mark 6d/6f-functional/cosmetic done; rebrand functionally complete
arzafran Jul 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/ci-macos-compat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
smoke: true
skip_zig: false
- os: macos-26
timeout: 45
timeout: 60 # macos-26 runner is ~2x slower than macos-15; 45m was too tight on a cold DerivedData cache (see cache key on project.pbxproj)
smoke: false
skip_zig: true # zig 0.15.2 MachO linker can't resolve libSystem on macOS 26
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -105,7 +105,7 @@ jobs:
mkdir -p "$SOURCE_PACKAGES_DIR"

for attempt in 1 2 3; do
if xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux-unit -configuration Debug \
if xcodebuild -project GhosttyTabs.xcodeproj -scheme programa-unit -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-resolvePackageDependencies; then
exit 0
Expand All @@ -125,11 +125,11 @@ jobs:
set -euo pipefail
SOURCE_PACKAGES_DIR="$PWD/.ci-source-packages"
run_unit_tests() {
xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux-unit -configuration Debug \
xcodebuild -project GhosttyTabs.xcodeproj -scheme programa-unit -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-disableAutomaticPackageResolution \
-destination "platform=macOS" \
-skip-testing:cmuxTests/AppDelegateShortcutRoutingTests/testCmdWClosesWindowWhenClosingLastSurfaceInLastWorkspace \
-skip-testing:programaTests/AppDelegateShortcutRoutingTests/testCmdWClosesWindowWhenClosingLastSurfaceInLastWorkspace \
test 2>&1
}

Expand Down Expand Up @@ -184,7 +184,7 @@ jobs:
run: |
set -euo pipefail
SOURCE_PACKAGES_DIR="$PWD/.ci-source-packages"
xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux -configuration Debug \
xcodebuild -project GhosttyTabs.xcodeproj -scheme programa -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-disableAutomaticPackageResolution \
-destination "platform=macOS" build
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ jobs:
mkdir -p "$SOURCE_PACKAGES_DIR"

for attempt in 1 2 3; do
if xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux-unit -configuration Debug \
if xcodebuild -project GhosttyTabs.xcodeproj -scheme programa-unit -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-resolvePackageDependencies; then
exit 0
Expand All @@ -162,11 +162,11 @@ jobs:
set -euo pipefail
SOURCE_PACKAGES_DIR="$PWD/.ci-source-packages"
run_unit_tests() {
xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux-unit -configuration Debug \
xcodebuild -project GhosttyTabs.xcodeproj -scheme programa-unit -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-disableAutomaticPackageResolution \
-destination "platform=macOS" \
-skip-testing:cmuxTests/AppDelegateShortcutRoutingTests/testCmdWClosesWindowWhenClosingLastSurfaceInLastWorkspace \
-skip-testing:programaTests/AppDelegateShortcutRoutingTests/testCmdWClosesWindowWhenClosingLastSurfaceInLastWorkspace \
test 2>&1
}

Expand Down Expand Up @@ -315,7 +315,7 @@ jobs:
mkdir -p "$SOURCE_PACKAGES_DIR"

for attempt in 1 2 3; do
if xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux -configuration Debug \
if xcodebuild -project GhosttyTabs.xcodeproj -scheme programa -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-resolvePackageDependencies; then
exit 0
Expand All @@ -332,7 +332,7 @@ jobs:
run: |
set -euo pipefail
SOURCE_PACKAGES_DIR="$PWD/.ci-source-packages"
xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux -configuration Debug \
xcodebuild -project GhosttyTabs.xcodeproj -scheme programa -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-disableAutomaticPackageResolution \
-destination "platform=macOS" build
Expand Down Expand Up @@ -467,7 +467,7 @@ jobs:
mkdir -p "$SOURCE_PACKAGES_DIR"

for attempt in 1 2 3; do
if xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux -configuration Debug \
if xcodebuild -project GhosttyTabs.xcodeproj -scheme programa -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-resolvePackageDependencies; then
exit 0
Expand All @@ -484,7 +484,7 @@ jobs:
run: |
set -euo pipefail
SOURCE_PACKAGES_DIR="$PWD/.ci-source-packages"
xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux -configuration Debug \
xcodebuild -project GhosttyTabs.xcodeproj -scheme programa -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-disableAutomaticPackageResolution \
-destination "platform=macOS" \
Expand Down Expand Up @@ -663,11 +663,11 @@ jobs:
PRELAUNCH_EOF

# Run test — app is already launched from shell
if xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux -configuration Debug \
if xcodebuild -project GhosttyTabs.xcodeproj -scheme programa -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-disableAutomaticPackageResolution \
-destination "platform=macOS" \
-only-testing:cmuxUITests/DisplayResolutionRegressionUITests \
-only-testing:programaUITests/DisplayResolutionRegressionUITests \
test-without-building; then
exit 0
fi
Expand All @@ -687,12 +687,12 @@ jobs:
run: |
set -euo pipefail
SOURCE_PACKAGES_DIR="$PWD/.ci-source-packages"
xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux -configuration Debug \
xcodebuild -project GhosttyTabs.xcodeproj -scheme programa -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-disableAutomaticPackageResolution \
-destination "platform=macOS" \
-maximum-test-execution-time-allowance 180 \
-only-testing:cmuxUITests/BrowserPaneNavigationKeybindUITests/testCmdFFocusesBrowserFindFieldAfterCmdDCmdLNavigation \
-only-testing:programaUITests/BrowserPaneNavigationKeybindUITests/testCmdFFocusesBrowserFindFieldAfterCmdDCmdLNavigation \
test-without-building

- name: Cleanup persistent virtual display
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ jobs:
- name: Build universal nightly app (Release)
if: needs.decide.outputs.should_publish != 'true' || steps.current_head_prebuild.outputs.still_current == 'true'
run: |
xcodebuild -scheme cmux -configuration Release -derivedDataPath build-universal \
xcodebuild -scheme programa -configuration Release -derivedDataPath build-universal \
-destination 'generic/platform=macOS' \
-clonedSourcePackagesDirPath .spm-cache \
ARCHS="arm64 x86_64" \
Expand Down Expand Up @@ -278,7 +278,7 @@ jobs:
echo "NIGHTLY_MARKETING_VERSION=${NIGHTLY_MARKETING_VERSION}" >> "$GITHUB_ENV"
echo "NIGHTLY_REMOTE_DAEMON_VERSION=${NIGHTLY_MARKETING_VERSION}" >> "$GITHUB_ENV"

NIGHTLY_DMG_IMMUTABLE="cmux-nightly-macos-${NIGHTLY_BUILD}.dmg"
NIGHTLY_DMG_IMMUTABLE="programa-nightly-macos-${NIGHTLY_BUILD}.dmg"
echo "NIGHTLY_DMG_IMMUTABLE=${NIGHTLY_DMG_IMMUTABLE}" >> "$GITHUB_ENV"

prepare_variant() {
Expand Down Expand Up @@ -393,7 +393,7 @@ jobs:
echo "Missing APPLE_SIGNING_IDENTITY secret" >&2
exit 1
fi
ENTITLEMENTS="cmux.entitlements"
ENTITLEMENTS="programa.entitlements"
for APP_PATH in \
"build-universal/Build/Products/Release/Programa NIGHTLY.app"
do
Expand Down Expand Up @@ -471,7 +471,7 @@ jobs:

notarize_and_package \
"build-universal/Build/Products/Release/Programa NIGHTLY.app" \
"cmux-nightly-macos.dmg" \
"programa-nightly-macos.dmg" \
"$NIGHTLY_DMG_IMMUTABLE"

- name: Upload dSYMs to Sentry
Expand Down Expand Up @@ -519,9 +519,9 @@ jobs:
if: needs.decide.outputs.should_publish != 'true'
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: cmux-nightly-${{ needs.decide.outputs.short_sha }}
name: programa-nightly-${{ needs.decide.outputs.short_sha }}
path: |
cmux-nightly-macos*.dmg
programa-nightly-macos*.dmg
appcast.xml
remote-daemon-assets/programad-remote-*
appcast-universal.xml
Expand Down Expand Up @@ -552,10 +552,10 @@ jobs:
- feed `appcast.xml`
- compatibility feed `appcast-universal.xml` for older universal nightlies

[Download cmux-nightly-macos.dmg](https://github.com/darkroomengineering/programa/releases/download/nightly/cmux-nightly-macos.dmg)
[Download programa-nightly-macos.dmg](https://github.com/darkroomengineering/programa/releases/download/nightly/programa-nightly-macos.dmg)
files: |
cmux-nightly-macos-${{ github.run_id }}*.dmg
cmux-nightly-macos.dmg
programa-nightly-macos-${{ github.run_id }}*.dmg
programa-nightly-macos.dmg
appcast.xml
remote-daemon-assets/programad-remote-*
appcast-universal.xml
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ jobs:
- name: Build universal app (Release)
if: steps.guard_release_assets.outputs.skip_all != 'true'
run: |
xcodebuild -scheme cmux -configuration Release -derivedDataPath build-universal \
xcodebuild -scheme programa -configuration Release -derivedDataPath build-universal \
-destination 'generic/platform=macOS' \
-clonedSourcePackagesDirPath .spm-cache \
ARCHS="arm64 x86_64" \
Expand Down Expand Up @@ -278,7 +278,7 @@ jobs:
exit 1
fi
APP_PATH="build-universal/Build/Products/Release/Programa.app"
ENTITLEMENTS="cmux.entitlements"
ENTITLEMENTS="programa.entitlements"
CLI_PATH="$APP_PATH/Contents/Resources/bin/programa"
HELPER_PATH="$APP_PATH/Contents/Resources/bin/ghostty"
if [ -f "$CLI_PATH" ]; then
Expand Down Expand Up @@ -379,7 +379,7 @@ jobs:
if: steps.guard_release_assets.outputs.skip_upload != 'true' && github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: cmux-release-dry-run
name: programa-release-dry-run
path: |
programa-macos.dmg
appcast.xml
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/test-depot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ jobs:
mkdir -p "$SOURCE_PACKAGES_DIR"

for attempt in 1 2 3; do
if xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux-unit -configuration Debug \
if xcodebuild -project GhosttyTabs.xcodeproj -scheme programa-unit -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-resolvePackageDependencies; then
exit 0
Expand All @@ -145,7 +145,7 @@ jobs:
set -euo pipefail
SOURCE_PACKAGES_DIR="$PWD/.ci-source-packages"
run_unit_tests() {
xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux-unit -configuration Debug \
xcodebuild -project GhosttyTabs.xcodeproj -scheme programa-unit -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-disableAutomaticPackageResolution \
-destination "platform=macOS" test 2>&1
Expand Down Expand Up @@ -191,12 +191,12 @@ jobs:

# Build the -only-testing argument
if [ -n "$TEST_FILTER" ]; then
ONLY_TESTING="-only-testing:cmuxUITests/$TEST_FILTER"
ONLY_TESTING="-only-testing:programaUITests/$TEST_FILTER"
else
ONLY_TESTING="-only-testing:cmuxUITests"
ONLY_TESTING="-only-testing:programaUITests"
fi

xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux -configuration Debug \
xcodebuild -project GhosttyTabs.xcodeproj -scheme programa -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-disableAutomaticPackageResolution \
-destination "platform=macOS" \
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ jobs:
SOURCE_PACKAGES_DIR="$PWD/.ci-source-packages"
mkdir -p "$SOURCE_PACKAGES_DIR"
for attempt in 1 2 3; do
if xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux-unit -configuration Debug \
if xcodebuild -project GhosttyTabs.xcodeproj -scheme programa-unit -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-resolvePackageDependencies; then
exit 0
Expand All @@ -204,7 +204,7 @@ jobs:
run: |
set -euo pipefail
SOURCE_PACKAGES_DIR="$PWD/.ci-source-packages"
ONLY_TESTING="-only-testing:cmuxUITests/$TEST_FILTER"
ONLY_TESTING="-only-testing:programaUITests/$TEST_FILTER"
DISPLAY_ENV_PREFIX=()

if [ "$TEST_FILTER" = "DisplayResolutionRegressionUITests" ]; then
Expand Down Expand Up @@ -250,7 +250,7 @@ jobs:
fi

XCODEBUILD_CMD=(
xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux -configuration Debug
xcodebuild -project GhosttyTabs.xcodeproj -scheme programa -configuration Debug
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR"
-disableAutomaticPackageResolution
-destination "platform=macOS"
Expand Down
Loading
Loading