<p align="center" <img src="assets/brand/tapq-mark.svg" alt="" width="96" height="96" </p
<h1 align="center"TapQ</h1
<p align="center" <strongControl your agents with gestures through AirPods</strong </p
<p align="center" <img alt="Swift 6" src="https://img.shields.io/badge/Swift-6.0-F05138" <img alt="macOS 14 or newer" src="https://img.shields.io/badge/macOS-14%2B-161617" <img alt="Linux portable core" src="https://img.shields.io/badge/Linux-portable%20core-FCC624" <a href="LICENSE"<img alt="Apache 2.0 license" src="https://img.shields.io/badge/license-Apache--2.0-C8F031?labelColor=161617"</a </p
<p align="center" <a href="https://tapq.ai"Website</a · <a href="#quick-start"Quick start</a · <a href="docs/CLI.md"CLI reference</a · <a href="#roadmap"Roadmap</a · <a href="CONTRIBUTING.md"Contributing</a </p
TapQ turns natural head gestures, earbud taps, short voice commands, and compatible AirPods stem swipes into approvals, option selections, and steering inputs for AI agents. It runs as a headless local broker with no application window or Dock icon. Bundled adapters currently support Claude Code and a stable native-hook slice for Codex, with more agent adapters planned.
[!IMPORTANT] TapQ is an early open-source preview. The complete AirPods-backed runtime currently requires macOS 14 or newer. Its portable libraries, POSIX broker, Claude Code and Codex adapters, and management commands also build on Linux. Distribution is source-only for now: there is no published Homebrew formula, signed download, or stable release.
What TapQ does
- Hands-free approvals: double-nod, double-tap, or speak a short response to approve
or deny an agent request.
- Question navigation: move through a single-choice question with compatible AirPods
stem swipes or voice, then confirm without returning to the keyboard.
- Final-response routing: optionally turn an explicit question in a supported agent’s
final prose response into a short yes/no or option interaction.
- Personal calibration: save independent gesture and tap profiles without retaining
raw calibration streams.
- Voice fallback: during an active request, use a short spoken command whenever a
gesture or hardware control is inconvenient.