[go: up one dir, main page]

for macOS
dripmacOS 13+MIT

drip more. ship more.

drip is a free, open-source command-line tool for macOS that shows a native card from your MacBook's notch when a build, deploy, test run or coding agent (Claude Code, Codex, Gemini CLI) finishes or needs you. It is not Notification Center, so it needs no permissions.

brew install jrnxf/tap/drip
runs from
your shell, scripts, git hooks, agent hooks
shows
a card from the notch, or from the top edge of a screen without one
returns
at once; --wait holds until the card has gone
engine
DripCore, in Swift; WebAssembly on this page
dripwhat ran
01 / what it does

what it does: notch alerts for any command

Each module below runs the same engine as the one above. It plays once when it scrolls into view; press PLAY to run it again.

01Wrap a command

drip run runs it, times it and shows how it went: green on exit 0, red with the exit code otherwise. drip then exits with the command's status.

02Hear from coding agents

drip setup claude, codex or gemini points the agent's hooks at drip. A card names the project and what the agent needs, then says when it has finished.

03Update in place

Cards with the same --id replace each other. When the older card is on screen, it springs to the new card's size instead of queueing a second one.

04Ask, then act

--yes and --no ask a question and wait for the answer. drip exits 0 on yes and 1 on no, so && runs the next step only on yes. Answer it here.

05Pipe text in

With no title, drip reads stdin: the first line is the title and the rest is the detail. That suits git hooks and cron jobs.

06Your own presets

Icons, colors, sounds and timing go in ~/.config/drip/config.toml. This module defines a deploy preset.

02 / spec sheet

up to three alerts at once.

Cards that arrive while one shows stack below it. In chain mode, the default, each new card drops out of the last one. In push mode it drops out of the notch and moves the others down. Cards past the most it shows wait in a drop under the last card, or in push mode in a pill under the notch, which counts them and lists them under the pointer; each grows out of it as room opens. This module runs DripCore's CardStack: pick a mode, or press PLAY.

kindsok, warn, fail, info, and presets from your config: the kind is the look
texta title of up to 2 lines and a detail of up to 3, wrapped by the engine; a card is at most 640 pt wide
time4.5 s by default; --seconds takes 0.5 to 60; --stay keeps a card until it is clicked
buttons--open opens a URL or a file; --yes and --no ask, then exit 0 on yes, 1 on no and 5 without an answer
iconsSF Symbols, image files, app icons, and marks for Claude, Codex and Gemini
agentsdrip setup claude, codex or gemini adds drip to the agent's own hooks
replace--id: a newer card with the same id takes the older one's place
dismissa click brings the sender forward; the × on hover, a right-click or drip dismiss takes a card away without that
historydrip history lists past cards; --missed, the ones held while the screen was locked
mode
dripstack
03 / how this page works

how this page works.

DripCore, drip's engine, is compiled from the same Swift sources to WebAssembly and loaded by this page. It parses each command line, resolves the card, wraps the text and runs the springs that drop it out of the notch. The page paints what it computes.

real drip

  • The command line, parsed by swift-argument-parser, with drip's own errors and --help
  • Presets, flags and your config.toml
  • drip run's title and timing, and drip hook's reading of the payload
  • Text wrapping, sizes, springs, and the outline of the drop, traced by marching squares
  • Stacks of up to three cards, chained or pushed, and cards replaced in place: DripCore's CardStack places and times them

drawn by this page

  • The paint: simple icons stand in for SF Symbols
  • The text, in your browser's system font
  • The commands drip run wraps: they only pretend to run, and drip times them
  • The crossfade when a card is replaced in place, on drip's own timings
  • No sound
  • A click on a card only takes it away: there is no terminal behind it to bring forward

only on a Mac

  • History and missed cards
  • App icons and image files as icons
  • The system sounds
04 / install

install on macOS.

Homebrew installs drip as a prebuilt universal binary, for Apple silicon and Intel Macs. Nothing compiles, and Xcode is not needed. The README covers building from source.

dripinstall
$ brew install jrnxf/tap/drip
$ drip ok "drip works"
$ drip run make test # wrap any command
macOS 13 or newernotch optionalMIT