pounce-ai/pounce

Pounce — control your coding agents from your phone. Mobile app, desktop Bridge, bridge server.

14

stars

341

commits

TypeScript

primary language

Aug 25, 2026

updated

pounce-ai.github.io/

README

Pounce

Pounce

Control your coding agents from your pocket.

Website · Download the Bridge (macOS · Windows · Linux) · Dev setup


Pounce lets you steer Claude, Codex & opencode across every machine you own — from your phone. Watch agents work in real time, jump in by voice, review diffs, and ship, all one‑handed.

This is the full open‑source monorepo: the mobile app, the desktop Bridge, the bridge server, the shared packages, and the landing page.

Repo layout

PathWhat
apps/mobileThe Pounce Expo / React Native app (iOS & Android)
apps/bridgeThe bridge server (server.mjs) — the native agent host + LAN HTTP surface the apps talk to
desktopThe Pounce desktop app (expo‑desktop → react‑native‑macos / windows) — the full app UI with the bridge embedded
packages/{shared,runtime,ui}Shared types, runtime/transport, and UI primitives
apps/webThe website — landing pages, docs & changelog at use-pounce.com (Astro + Starlight, deployed to Cloudflare via Alchemy — see apps/web/alchemy.run.ts)
scripts/Release + host install helpers

How it works

Your agents run behind an Iroh‑based daemon (the agent host) that a phone can't reach directly. The Bridge runs on your computer: it starts the host, exposes a small token‑protected HTTP surface on your LAN, and shows a QR. The app scans it once and syncs — then keeps a direct identity to reach your machine afterward.

Get the app

Every platform ships from one release, under one version. Grab yours from Releases — or from use-pounce.com, which links each file directly — run it, and scan the QR:

  • macOS (Apple Silicon, 14+): Pounce.dmg (signed + notarized) — open, drag to Applications, launch.
  • Windows (x64): Pounce-<version>-Windows-x64.zip — extract, then run Pounce-Setup.exe from the extracted folder; it needs the .installer folder beside it. Unsigned for now: if SmartScreen appears, choose More info → Run anyway.
  • Ubuntu / Debian (x64 / arm64): Pounce-<version>-Linux-<arch>.debsudo apt install ./Pounce-<version>-Linux-<arch>.deb.
  • Other Linux (x64 / arm64): Pounce-<version>-Linux-<arch>.tar.gz — extract, run ./installer (installs to ~/.local/share and adds a desktop entry).
  • iPhone / Android: on the App Store and Google Play.

Or skip the download entirely — npx use-pounce configure sets up any machine, including one you only reach over SSH.

Getting started (dev)

Prereqs: Bun, Xcode (iOS) / Android Studio, and the kittylitter agent host running.

bun install                       # install the workspace (apps/* + packages/*)

# Mobile app
cd apps/mobile && bun run ios     # or: bun run android

# Bridge server (standalone CLI)
node apps/bridge/server.mjs

# Desktop app (isolated — not part of the bun workspace; embeds the bridge)
cd desktop && bun install && bunx expo start --port 8082

Driving and profiling the app

Argent ships as a devDependency, so bun install is all a teammate needs — its MCP server (.mcp.json) lets a coding agent launch the app, tap through it, read the React tree, and record React + Instruments profiles on the simulator. apps/mobile/.claude/skills/profile has the Pounce-specific recipe, including how to run a before/after that actually holds up.

Releasing the Bridge

Set the version once with bun run version:set <version> — it stamps version.json into the phone app, the macOS app and the Windows/Linux app, and CI fails if any of them drift. Merge that, then run the Release Pounce workflow (.github/workflows/release.yml) from the Actions tab.

It builds every platform — macOS (signed + notarized), Windows, Linux x64/arm64 — and publishes one GitHub Release tagged v<version> holding every installer. Auto-update artifacts go to the separate rolling bridge-latest release, so the download page stays readable.

The tunnel and the npm CLI version independently and release on their own tags.

For a macOS-only release from your machine:

bash scripts/release-bridge.sh ~/Downloads/<your-DeveloperID>.cer

Builds, signs, notarizes (via the asc CLI), staples, and cuts a GitHub Release. (Note: a release cut this way carries no Windows/Linux update artifacts, so prefer CI once those platforms have shipped.)

License

MIT

Contributors

xinha-sh

324 commits

dirghaprasad

6 commits

xinhash

5 commits

pounce-ai/pounce

Pounce — control your coding agents from your phone. Mobile app, desktop Bridge, bridge server.

14

stars

341

commits

TypeScript

primary language

Aug 25, 2026

updated

pounce-ai.github.io/

README

Pounce

Pounce

Control your coding agents from your pocket.

Website · Download the Bridge (macOS · Windows · Linux) · Dev setup


Pounce lets you steer Claude, Codex & opencode across every machine you own — from your phone. Watch agents work in real time, jump in by voice, review diffs, and ship, all one‑handed.

This is the full open‑source monorepo: the mobile app, the desktop Bridge, the bridge server, the shared packages, and the landing page.

Repo layout

PathWhat
apps/mobileThe Pounce Expo / React Native app (iOS & Android)
apps/bridgeThe bridge server (server.mjs) — the native agent host + LAN HTTP surface the apps talk to
desktopThe Pounce desktop app (expo‑desktop → react‑native‑macos / windows) — the full app UI with the bridge embedded
packages/{shared,runtime,ui}Shared types, runtime/transport, and UI primitives
apps/webThe website — landing pages, docs & changelog at use-pounce.com (Astro + Starlight, deployed to Cloudflare via Alchemy — see apps/web/alchemy.run.ts)
scripts/Release + host install helpers

How it works

Your agents run behind an Iroh‑based daemon (the agent host) that a phone can't reach directly. The Bridge runs on your computer: it starts the host, exposes a small token‑protected HTTP surface on your LAN, and shows a QR. The app scans it once and syncs — then keeps a direct identity to reach your machine afterward.

Get the app

Every platform ships from one release, under one version. Grab yours from Releases — or from use-pounce.com, which links each file directly — run it, and scan the QR:

  • macOS (Apple Silicon, 14+): Pounce.dmg (signed + notarized) — open, drag to Applications, launch.
  • Windows (x64): Pounce-<version>-Windows-x64.zip — extract, then run Pounce-Setup.exe from the extracted folder; it needs the .installer folder beside it. Unsigned for now: if SmartScreen appears, choose More info → Run anyway.
  • Ubuntu / Debian (x64 / arm64): Pounce-<version>-Linux-<arch>.debsudo apt install ./Pounce-<version>-Linux-<arch>.deb.
  • Other Linux (x64 / arm64): Pounce-<version>-Linux-<arch>.tar.gz — extract, run ./installer (installs to ~/.local/share and adds a desktop entry).
  • iPhone / Android: on the App Store and Google Play.

Or skip the download entirely — npx use-pounce configure sets up any machine, including one you only reach over SSH.

Getting started (dev)

Prereqs: Bun, Xcode (iOS) / Android Studio, and the kittylitter agent host running.

bun install                       # install the workspace (apps/* + packages/*)

# Mobile app
cd apps/mobile && bun run ios     # or: bun run android

# Bridge server (standalone CLI)
node apps/bridge/server.mjs

# Desktop app (isolated — not part of the bun workspace; embeds the bridge)
cd desktop && bun install && bunx expo start --port 8082

Driving and profiling the app

Argent ships as a devDependency, so bun install is all a teammate needs — its MCP server (.mcp.json) lets a coding agent launch the app, tap through it, read the React tree, and record React + Instruments profiles on the simulator. apps/mobile/.claude/skills/profile has the Pounce-specific recipe, including how to run a before/after that actually holds up.

Releasing the Bridge

Set the version once with bun run version:set <version> — it stamps version.json into the phone app, the macOS app and the Windows/Linux app, and CI fails if any of them drift. Merge that, then run the Release Pounce workflow (.github/workflows/release.yml) from the Actions tab.

It builds every platform — macOS (signed + notarized), Windows, Linux x64/arm64 — and publishes one GitHub Release tagged v<version> holding every installer. Auto-update artifacts go to the separate rolling bridge-latest release, so the download page stays readable.

The tunnel and the npm CLI version independently and release on their own tags.

For a macOS-only release from your machine:

bash scripts/release-bridge.sh ~/Downloads/<your-DeveloperID>.cer

Builds, signs, notarizes (via the asc CLI), staples, and cuts a GitHub Release. (Note: a release cut this way carries no Windows/Linux update artifacts, so prefer CI once those platforms have shipped.)

License

MIT

Contributors

xinha-sh

324 commits

dirghaprasad

6 commits

xinhash

5 commits

Languages

TypeScript

56.7%

JavaScript

37.1%

Astro

2.6%

Shell

1.0%