Go tooling · static analysis · v0.8.0

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.

$go get github.com/eularixs/archview
GET /usersendpointUserControllercontrollerUserServiceservicepostgresrepositorygatewayrepository

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
main.go
// analyze source, serve the graph
av, _ := archview.New(archview.Options{Root: "."})
av.Mount(mux)
http.ListenAndServe(":8080", mux)

The pipeline

source
CHA call graph
classify layers
extract routes
/graph