Skip to main content

What's Available

beachcomber ships with 19 built-in providers out of the box — no configuration required. Each one exposes a small set of fields under a namespace.

The table below gives a one-line summary of each. See the Built-in Providers reference for every field, type, and default polling cadence.

System

ProviderScopeWhat it tells youExample
hostnameglobalMachine hostname and short namecomb g hostname.short
userglobalCurrent user name and uidcomb g user.name
loadglobal1/5/15-minute load averagescomb g load.one
uptimeglobalSeconds, minutes, hours, days since bootcomb g uptime.days
batteryglobalPercent, charging state, time remainingcomb g battery.percent
networkglobalInterface, IP, SSID, VPN state, onlinecomb g network.ssid
sudoglobalWhether sudo is currently cachedcomb g sudo.active
opglobal1Password CLI signed-in statecomb g op.signed_in

Git

ProviderScopeWhat it tells youExample
gitpathBranch, dirty, staged, ahead/behind, stash, lines, state (24 fields)comb g git.branch .

Cloud and DevOps

ProviderScopeWhat it tells youExample
kubecontextglobalActive kube context and namespacecomb g kubecontext.context
gcloudglobalActive gcloud project and accountcomb g gcloud.project
awsglobalActive AWS profile and regioncomb g aws.profile
terraformpathCurrent workspacecomb g terraform.workspace .

Development tools

ProviderScopeWhat it tells youExample
pythonpathVirtualenv presence, name, versioncomb g python.venv .
condaglobalActive conda env and versioncomb g conda.env
misepathTool versions in effectcomb g mise .
asdfpathTool versions in effectcomb g asdf .
direnvpathenvrc status and whether it's allowedcomb g direnv.status .

Scope at a glance

  • global — one value for the whole machine. No path argument.
  • path — the answer depends on which directory you're asking about. Pass . (current directory) or an absolute path as the second argument.

Not enough? You can add your own provider — a shell script, a REST endpoint, or a shared library. See Custom Providers.