native macOS codings agent orchestrator
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

Rewrite README with feature highlights and hero imagery

Replace technical-first layout with website-aligned pitch: hero image,
Canvas/Custom Actions/CLI highlights, and grouped developer commands
including install-dev-build and install-release targets.

onevcat c5ff5179 e3ead058

+103 -23
+103 -23
README.md
··· 1 - # Prowl 1 + <p align="center"> 2 + <img src="https://prowl.onev.cat/images/prowl-icon.png" width="128" alt="Prowl"> 3 + </p> 4 + 5 + <h1 align="center">Prowl</h1> 6 + 7 + <p align="center"> 8 + <b>Your terminal wasn't built for agents. Until now.</b><br> 9 + A native macOS command center for running AI coding agents in parallel. 10 + </p> 11 + 12 + <p align="center"> 13 + <a href="https://github.com/onevcat/Prowl/releases/latest/download/Prowl.dmg"><b>Download</b></a> 14 + · 15 + <a href="https://prowl.onev.cat">Website</a> 16 + · 17 + <code>brew install --cask onevcat/tap/prowl</code> 18 + </p> 19 + 20 + <p align="center"> 21 + <img src="https://prowl.onev.cat/images/promotion.webp" alt="Prowl — vertical tabs, terminals, command palette, and split view"> 22 + </p> 23 + 24 + --- 25 + 26 + ## Why Prowl? 27 + 28 + You're not just typing commands anymore — you're orchestrating Claude Code, Codex, and friends across repos, branches, and ideas. Prowl is the terminal built for that. 29 + 30 + ## Highlights 31 + 32 + ### 🖼 Canvas — every agent, at a glance 33 + 34 + <img align="right" width="360" src="https://prowl.onev.cat/images/feature-canvas.png" alt="Canvas view of multiple live agent terminals"> 35 + 36 + Three agents running, one just finished — _where_? Canvas gives you a bird's-eye view where every card is a **live, interactive terminal**, not a screenshot. Finished tasks light up the moment they complete, and you can broadcast a single command to every agent at once. 37 + 38 + <br clear="all"> 39 + 40 + ### ⚡ Custom Actions — one keystroke, any workflow 41 + 42 + <img align="right" width="360" src="https://prowl.onev.cat/images/feature-custom-actions.png" alt="Custom Actions with per-repo buttons and shortcuts"> 43 + 44 + Pin `swift build`, `npm test`, or `claude -p "review this diff"` to a button and bind it to `⌘B`. Set it up once per repo and stop typing the same thing every day. Pair with `claude -p` / `codex exec` to turn your terminal into a daily AI-powered assistant. 45 + 46 + <br clear="all"> 47 + 48 + ### 🤖 CLI — let your agents drive the terminal 2 49 3 - Native terminal coding agents command center. Fork of [Supacode](https://github.com/supabitapp/supacode). 50 + Your agent needs to run a test, read the output, and decide what's next. Prowl ships with a `prowl` CLI so both you and your agents can control the terminal programmatically: 4 51 5 - ## Technical Stack 52 + ```bash 53 + prowl list # discover panes & their status 54 + prowl send "npm test" --capture # execute & capture output in one shot 55 + prowl read # read screen content on demand 56 + prowl key <keystroke> # send keystrokes programmatically 57 + ``` 6 58 7 - - [The Composable Architecture](https://github.com/pointfreeco/swift-composable-architecture) 8 - - [libghostty](https://github.com/ghostty-org/ghostty) 59 + ### And the stuff you'd expect, done right 60 + 61 + - **Full Native** — powered by libghostty. No Electron, no web views. CJK-safe out of the box. 62 + - **Vertical Tabs** — repos, branches, and worktrees in a sidebar. Never lose context. 63 + - **Git Worktree first-class** — spin up a parallel branch for a new agent in one click. 64 + - **Agent Reminder** — macOS notification the moment an agent finishes. 65 + - **Auto-updates** — Sparkle keeps you on the latest release. 66 + 67 + ## Install 68 + 69 + **Download:** [Prowl.dmg](https://github.com/onevcat/Prowl/releases/latest/download/Prowl.dmg) (notarized) 70 + 71 + **Homebrew:** 72 + 73 + ```bash 74 + brew install --cask onevcat/tap/prowl 75 + ``` 9 76 10 77 ## Requirements 11 78 12 - - macOS 26.0+ 13 - - [mise](https://mise.jdx.dev/) (for dependencies) 79 + macOS 26.0+ 14 80 15 - ## Building 81 + --- 82 + 83 + ## For Developers 84 + 85 + A personal fork of [Supacode](https://github.com/supabitapp/supacode), built on [The Composable Architecture](https://github.com/pointfreeco/swift-composable-architecture) and [libghostty](https://github.com/ghostty-org/ghostty), maintained for daily use. Requires [mise](https://mise.jdx.dev/) for dev tooling. 86 + 87 + ### Build & run 16 88 17 89 ```bash 18 90 make build-ghostty-xcframework # Build GhosttyKit from Zig source 19 - make build-app # Build macOS app (Debug) 20 - make run-app # Build and launch 91 + make build-app # Build the macOS app (Debug) 92 + make run-app # Build, launch, and stream logs 93 + make install-dev-build # Build Debug and install to /Applications 94 + make install-release # Build Release, sign locally, install to /Applications 95 + ``` 96 + 97 + ### Develop & test 98 + 99 + ```bash 100 + make check # swift-format + swiftlint 101 + make format # Format only 102 + make lint # Lint only 103 + make test # Run app/unit tests 104 + make log-stream # Stream app logs (subsystem: com.onevcat.prowl) 21 105 ``` 22 106 23 - ## Development 107 + ### CLI 24 108 25 109 ```bash 26 - make check # Run swiftformat and swiftlint 27 - make test # Run app/unit tests (xcodebuild) 28 110 make build-cli # Build `prowl` CLI via SwiftPM 29 111 make test-cli-smoke # Quick CLI smoke checks 30 112 make test-cli-integration # End-to-end CLI socket integration tests 31 - make format # Run swift-format 32 113 ``` 33 114 34 - ### Local Ghostty sync (avoid submodule/XCFramework drift) 115 + ### Ghostty sync 35 116 36 117 ```bash 37 - make ensure-ghostty # fast SHA check, rebuilds only when ThirdParty/ghostty changed 38 - make sync-ghostty # force rebuild + clear DerivedData 118 + make ensure-ghostty # Fast SHA check (auto-run by build-app/test) 119 + make sync-ghostty # Force rebuild + clear DerivedData 39 120 ``` 40 121 41 - `build-app` and `test` already run `ensure-ghostty` automatically. 122 + ### Release 42 123 43 - ## Contributing 44 - 45 - - I actual prefer a well written issue describing features/bugs u want rather than a vibe-coded PR 46 - - I review every line personally and will close if I feel like the quality is not up to standard 47 - 124 + ```bash 125 + make bump-version # Bump version and create a git tag 126 + make bump-and-release # Bump and push to trigger the release workflow 127 + ```