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
This commit is contained in:
parent
44aa75103a
commit
4c7005f54d
2 changed files with 14 additions and 46 deletions
60
README.md
60
README.md
|
|
@ -1,51 +1,19 @@
|
|||
# cmuxterm
|
||||
<h1 align="center">cmuxterm</h1>
|
||||
<p align="center">A Ghostty-based terminal with vertical tabs and a notification panel for macOS</p>
|
||||
|
||||
Vertical tabs for Ghostty on macOS, built on libghostty.
|
||||
<p align="center">
|
||||
<a href="https://github.com/manaflow-ai/cmuxterm/releases/latest/download/cmuxterm-macos.dmg">
|
||||
<img src="./docs/assets/macos-badge.png" alt="Download cmuxterm for macOS" width="180" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
[](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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue