peepwho
Know who knows. peepwho reads the tools your team already works in and answers a plain question with the people and channels to ask, the reasons for each, and how strong the match is.
peepwho is free and MIT licensed. It runs on your machine, with or without a language model.
What it does
- Answers questions such as who to talk to about billing retries, with the reasons for each name and the match strength.
- Shows where knowledge has narrowed to one person.
- When nobody who knew is left, points back at the conversation where the problem was solved last time.
- Joins every source into one graph of people, teams, topics, and channels, so one human stays one node.
What this is not for
peepwho describes where knowledge and systems are at risk. It never ranks, scores, or labels people, and its findings must not be used for performance reviews, layoffs, or any other employment decision. A person who shows up as the only one who knows something is a sign the team needs another person to know it.
Install
With a Go toolchain:
go install github.com/dcadolph/peepwho@latest
Or download an archive for Linux, macOS, or Windows from the releases page.
Verifying a release
checksums.txt carries a keyless Sigstore signature made by this repository's release workflow, and every archive carries SLSA build provenance. Check a download before you run it:
id='^https://github.com/dcadolph/peepwho/\.github/workflows/release\.yml@refs/tags/v'
cosign verify-blob checksums.txt \
--signature checksums.txt.sig \
--certificate checksums.txt.pem \
--certificate-identity-regexp "$id" \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
sha256sum -c checksums.txt --ignore-missing
gh attestation verify peepwho_<version>_linux_amd64.tar.gz --repo dcadolph/peepwho
On macOS without GNU coreutils, use shasum -a 256 -c checksums.txt --ignore-missing for the second line.
Quickstart
Start with a repository you already have. peepwho reads its git history and opens on the directories the work rests on, and which of them rest on one person. Nothing is fetched and no credentials are needed.
peepwho demo --repo .
Then index something real and ask:
peepwho index --source org-csv --file examples/people.csv
peepwho ask --pretty "who do I talk to about billing retries"
When the person who knew has left, ask what happened with recall:
peepwho recall "certificate renewal"
peepwho connect walks through the rest of your tools one at a time.
Sources
peepwho reads these sources: org chart CSV, time-entry or matter CSV, CODEOWNERS, git, Slack, a Slack workspace export, GitHub, Jira, Confluence, PagerDuty, Microsoft Graph, and JSON records. Indexing talks only to the sources you name, with your own tokens.
Runs on your machine
Keyword answers need no model and always work. Semantic search and written answers run on a local Ollama model, or on Claude, Gemini, or OpenAI once you opt in. The default policy is strict, so answers are computed locally and nothing goes to any model beyond your machine.