Skip to main content
hexr analyze reads a Python project and reports which agent frameworks it uses and which patterns it exhibits. It is static: nothing is imported, nothing is executed, and no network call is made.
That matters because the alternative — importing a codebase to see what it does — runs arbitrary code from the project you are trying to assess.

What it detects

  • Frameworks — CrewAI, LangChain, LangGraph, AutoGen, ADK and others, from the call shapes they produce rather than from requirements.txt, which lists what is installed rather than what is used.
  • Patterns — orchestrator/worker, routing, parallelisation, and the other shapes that determine how many identities an agent pod actually needs.
The same classification drives hexr build, so what you see here is what the build will act on.

Options

flag
Emit the raw manifest. Use this in CI, where the human-readable table is harder to assert on.
path
Override the framework pack directory. Defaults to the packs shipped in the SDK; see hexr update for keeping those current.
path
Override the pattern pack directory.
flag
Propose framework rules for call sites the packs did not classify.Writes an advisory YAML diff for human review and never mutates classification. A tool that silently invented its own rules would make every later classification unauditable.Requires the enterprise extra:

Reading unclassified call sites

Unclassified is a normal result, not a failure. It means the call shape does not match a known framework — which is exactly what a bespoke agent looks like. --suggest is for when you have enough of them to be worth a rule. The output is a diff you apply deliberately, not a change it makes for you.