See your backend's flow,
drawn from the code.
Arch Reactor is structural tooling for Go backends. archview renders the live path from endpoint → controller → service → repository. arch-diff shows how that structure changes across two git refs — and which code a change orphans.
What you get
go-callvis, plus the three things it never knew.
Layer-aware
Each function placed as controller, service or repository — grouped into module swimlanes.
Route-aware
Endpoints detected from your gin and net/http registrations, wired to their handlers.
Click to source
Every node deep-links to file:line in VS Code or Cursor.
Pattern-aware
Modular MVC or hexagonal ports & adapters — arrows follow your real call graph.
Framework-agnostic
gin and net/http out of the box; add any framework with a single interface.
Zero annotations
Pure static analysis via a CHA call graph. No tags, no comments, no decorators.
Three lines
Mount it. Open /graph.
archview owns its own path and hands the rest back to your router. It analyzes the module at startup, so the graph is always current with your code.
Read the quickstart// analyze source, serve the graph
av, _ := archview.New(archview.Options{Root: "."})
av.Mount(mux)
http.ListenAndServe(":8080", mux)The pipeline