Clairvoyant
A CLI that visualizes a project's dependency tree straight from its lockfile.
Supported lockfiles
mix.lock(Elixir/Hex)Cargo.lock(Rust/Cargo)poetry.lock(Python/Poetry)uv.lock(Python/uv)
Install
Download a prebuilt standalone binary (no Erlang/Elixir required) from the latest release for macOS (Intel/Apple Silicon), Linux, or Windows.
Build from source
mix escript.build
This produces a clairvoyant executable in the project root. Requires
Erlang/Elixir to be installed on the machine running it.
Usage
clairvoyant <lockfile> [options]
Options:
--depth N— limit tree depth--only PACKAGE— show only the subtree rooted at PACKAGE--reverse PACKAGE— show what depends on PACKAGE (walks ancestors)--help,-h— show usage
Examples:
clairvoyant mix.lock
clairvoyant Cargo.lock --depth 2
clairvoyant poetry.lock --only requests
clairvoyant mix.lock --reverse jason
Development
mix deps.get
mix test
Releasing standalone binaries
Pushing a tag matching v*.*.* triggers .github/workflows/release.yml,
which uses Burrito to build
self-contained binaries (bundled Erlang runtime, no local install needed)
for macOS (Intel + Apple Silicon), Linux, and Windows, and attaches them to
a GitHub Release:
git tag v0.1.0
git push origin v0.1.0
To build these locally, you need zig (0.16.x), xz, and 7z on your
PATH, then run MIX_ENV=prod mix release. Binaries land in
burrito_out/.