A single daemon that caches your shell environment. Every prompt, status bar, and editor reads from one shared cache instead of recomputing everything independently.
Open Activity Monitor on a typical dev machine and look at what's running. Every shell prompt has its own git status daemon. Your tmux status bar forks a shell process for every pane on a timer. Your editor has its own file watchers. Your prompt framework has another set. Each one independently computing the same answer to the same question: "what branch am I on?"
Scale it up: 30 terminal panes means 30 git daemons, each with a thread pool — that's hundreds of threads. fseventsd is dispatching every filesystem change to 30 separate watchers all monitoring the same .git directory. Hundreds of open file handles, constant CPU churn, and every single one of them returns the same answer.
Nothing talks to anything else. Every consumer — prompts, status bars, editors, scripts — operates in total isolation, duplicating work that only needs to happen once.
beachcomber is a local memoization cache for shell environment state. One daemon watches your filesystem, computes state once, and serves it from memory. Providers automatically back off when not queried, and warm up again on demand. One watcher. One computation. Infinite readers.
queries served by beachcomber in the time it takes gitstatus to return one result
beachcomber is a single async daemon. It watches directories using native OS APIs, runs providers when files change or timers fire, and caches results in a shared in-memory map. Every consumer reads from the same cache via a Unix socket.
Plus a script backend for anything else
The daemon starts automatically on first query. Integrate with your prompt, status bar, or editor to start seeing the benefits.