v0.3.0
Works on any layout — no keyword config required.
New
- Chain-based auto-layer (
Options.AutoLayer, default off): archview walks the call graph from your endpoints, includes the functions actually reached, and infers each one's layer from its role in the chain — entry = controller, calls-onward = service, sink = repository. Naming-agnostic, so hexagonal/clean-arch layouts work without per-project keyword config. Keyword classification still wins where it applies. - Wider classification defaults: controller now matches
interface/interfaces; service matchescore; repository matchespostgresql,supabase. Common hexagonal/clean-arch package names are recognized out of the box.
Why
A real echo + hexagonal project (core/, adapter/postgresql, interface/) showed only handlers — its service and repository packages didn't match the keyword set, so they were filtered out. The project was fine; archview was too rigid. This release fixes that.
Install
go get github.com/eularixs/archview@v0.3.0archview.New(archview.Options{ Root: ".", ShowPorts: true, AutoLayer: true })Known limitations
- Layer-first layouts (
core/<feature>) classify correctly but group into one lane; per-feature module grouping is on the roadmap. - AutoLayer is more inclusive (shows reachable functions); keep it off for the curated keyword-only view.