CrawlBar is a macOS menu bar control plane for local-first *crawl apps.
It discovers crawler CLIs, reads metadata manifests, shows status/freshness/counts, runs refresh and doctor actions, writes redacted job logs, and keeps per-app config in ~/.crawlbar/config.json.
Built-in manifests ship for:
gitcrawlslacrawldiscrawlnotcrawlgraincrawl
Future crawler repos can drop a manifest JSON file into ~/.crawlbar/apps/*.json to appear without a CrawlBar code change.
swift build
swift run crawlbar-selftest
swift run crawlbarctl apps --jsoncrawlbar apps [--json]
crawlbar metadata [--app gitcrawl] [--json]
crawlbar status [--app all] [--json]
crawlbar query --app all -- manifest
crawlbar query --app slacrawl -- 'select count(*) from messages;'
crawlbar doctor --app discrawl [--json]
crawlbar refresh --app slacrawl [--json]
crawlbar action desktop-cache-import --app discrawl [--json]
crawlbar logs [--json]
crawlbar config path|validate|initDuring development the SwiftPM product is crawlbarctl to avoid colliding with
the CrawlBar app binary on case-insensitive macOS filesystems. The install
script places it on PATH as crawlbar.
Main config lives at:
~/.crawlbar/config.json
Action logs live at:
~/.crawlbar/logs
Both are written with private file permissions. Command output is redacted before it is returned to the UI or persisted as an action log.
Scripts/package_app.shThe packaged .app is written to dist/CrawlBar.app.