From 4c7005f54da35ced8b5754c9d78332e1a9a67b21 Mon Sep 17 00:00:00 2001
From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com>
Date: Wed, 28 Jan 2026 15:43:22 -0800
Subject: [PATCH] Update README with centered layout and download badge
- Add centered title and tagline
- Add macOS download badge image
- Rewrite copy to highlight AI agent notification use case
- Remove developer-focused release/secrets documentation
---
README.md | 60 +++++++++---------------------------
docs/assets/macos-badge.png | Bin 0 -> 13866 bytes
2 files changed, 14 insertions(+), 46 deletions(-)
create mode 100644 docs/assets/macos-badge.png
diff --git a/README.md b/README.md
index 4597cea2..bdb00082 100644
--- a/README.md
+++ b/README.md
@@ -1,51 +1,19 @@
-# cmuxterm
+
cmuxterm
+A Ghostty-based terminal with vertical tabs and a notification panel for macOS
-Vertical tabs for Ghostty on macOS, built on libghostty.
+
+
+
+
+
-[](releases/latest/download/cmuxterm-macos.dmg)
+## Features
-## Releases
+- **Vertical tabs** — See all your terminals at a glance in a sidebar
+- **Notification panel** — Tabs flash when AI agents (Claude Code, Codex) need your attention
+- **Built on libghostty** — Native macOS performance with Ghostty's GPU-accelerated rendering
+- **Auto-updates** — Stay current with Sparkle-powered updates
-Tag a version like `v0.1.0` and push it to trigger the GitHub Actions release workflow.
-The workflow builds `GhosttyKit.xcframework`, builds the Release app, signs, notarizes,
-staples, and uploads `cmuxterm-macos.dmg` to the release.
+## Why cmuxterm?
-## Auto updates
-
-cmuxterm uses Sparkle with the same update UI flow as upstream Ghostty. The app looks for
-an appcast at:
-
-```
-https://github.com/manaflow-ai/cmuxterm/releases/latest/download/appcast.xml
-```
-
-To sign updates, set these secrets for release builds:
-
-- `SPARKLE_PUBLIC_KEY`: Sparkle EdDSA public key (embedded in the app).
-- `SPARKLE_PRIVATE_KEY`: Sparkle EdDSA private key (used when generating appcasts).
-
-You still need to generate and upload `appcast.xml` alongside each release asset.
-
-To generate keys locally (stores the private key in your Keychain and appends values
-to `.env`), run:
-
-```bash
-./scripts/sparkle_generate_keys.sh
-```
-
-For manual appcast generation (uses `SPARKLE_PRIVATE_KEY`):
-
-```bash
-SPARKLE_PRIVATE_KEY=... ./scripts/sparkle_generate_appcast.sh cmuxterm-macos.dmg vX.Y.Z appcast.xml
-```
-
-### Required GitHub secrets
-
-- `APPLE_CERTIFICATE_BASE64`: Base64-encoded Developer ID Application .p12
-- `APPLE_CERTIFICATE_PASSWORD`: Password for the .p12
-- `APPLE_SIGNING_IDENTITY`: e.g. `Developer ID Application: Your Name (TEAMID)`
-- `APPLE_ID`: Apple ID used for notarization
-- `APPLE_APP_SPECIFIC_PASSWORD`: App-specific password for the Apple ID
-- `APPLE_TEAM_ID`: Apple Developer Team ID
-- `SPARKLE_PUBLIC_KEY`: Sparkle EdDSA public key for update verification
-- `SPARKLE_PRIVATE_KEY`: Sparkle EdDSA private key for appcast signing
+Running multiple AI coding agents? cmuxterm helps you manage them. Instead of losing track of which terminal needs input, the notification panel shows you exactly where to look.
diff --git a/docs/assets/macos-badge.png b/docs/assets/macos-badge.png
new file mode 100644
index 0000000000000000000000000000000000000000..c76acf8361a760a085c7c7dd93b791fb17875eb9
GIT binary patch
literal 13866
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
literal 0
HcmV?d00001