greybeard is a local cross-repo dependency graph your AI agent consults before it breaks something in another repo. Been here longer than the version control. Watched the monolith split. Knows who still reads that table.
❯ /plugin marketplace add deepaksinghcs14/greybeard
the problem
Claude Code and Codex are scoped to whichever repo they're opened in. Neither can answer "what depends on this endpoint?" or "is it safe to delete this column?" — the answers exist, scattered across go.mod files, OpenAPI specs, protos, and migrations in your other repos, but nothing connects them. So the agent ships a beautiful change, all tests green, and billing breaks at 2am.
"Done — renamed orders.total to amount, updated the model and every reference in this repo. All tests pass. ✅"
billing-svc's nightly reconciliation, which reads that column directly, dies silently at 2am.
"Before I touch this: billing-svc reads the orders schema directly. A rename breaks its reconciliation silently. Proceed and flag billing-svc, add a compatibility view, or hold off?"
The old man saw it coming. He always does.
the graph
The same view greybeard visualize serves at localhost — drag a node to pin it, click a repo for its endpoints, schemas, and connections, hover an edge for the evidence behind it. This one runs on demo data; yours is built from your repos and never leaves your machine.
the shape of it
how it works
Manifests, OpenAPI specs, protos, SQL migrations, exported symbols — parsed once per repo, kept fresh by a session hook.
Repos, endpoints, schemas, symbols, packages — edges typed by the evidence behind them.
Any agent asks before changing anything. Every answer flags it if the graph has gaps, so empty never gets mistaken for confirmed.
Relationships your agent verifies in code get recorded with file:line evidence. The graph compounds.
at work
Parallel extraction, per-repo progress, one transactional write — a killed build changes nothing.
❯ greybeard build 🧔 extracting 27 repos… ✓ billing-svc — 0 endpoints · 1 schemas · 6 symbols · 2 deps (1ms) ✓ orders-svc — 2 endpoints · 2 schemas · 11 symbols · 1 deps (2ms) ✓ connector-platform — 2 endpoints · 1 schemas · 24 symbols · 14 deps (31ms) 🧔 cross-referencing… ✓ billing-svc — 3 cross-repo edges (1ms) 🧔 done. 27 repos · 243 nodes · 38 edges (1m29s)
evidence, graded
Every edge carries its type and provenance. Below the evidence bar, nothing enters the graph — your users table and someone else's users table are strangers until proven otherwise. A false edge is worse than a missing one.
commands
/greybeard-init/greybeard-build/greybeard-query/greybeard-audit/greybeard-visualizegreybeard visualizegreybeard auditgreybeard updateworks with
honesty