Back to News
RSS feedgithub.com

UML Viewer Maps Clojure Architecture and Integrates a Grok Agent Workflow

Summary

UML Viewer is a live Quil application that reads an EDN intermediate representation and renders a navigable UML class diagram for a project. A language-specific parser produces namespace topology, classes, and dependency edges, while the policy controls the source root, namespace prefix, ordering, foreign libraries, dependency levels, and optional proposals. The tool is designed around the actual namespace tree rather than invented architectural packages, although it can display proposed groupings separately from the code structure. It overlays complexity, coverage, CRAP, and mutation snapshots from `.metrics/`, matching functions by namespace and name; missing snapshot data falls back to authored metrics where available. The viewer supports namespace drill-down, class cards, source-file navigation, dependency-rule checks, arrow decluttering, zooming, panning, and proposal management. Dependency violations are evaluated from the configured architectural levels, while association and implementation edges are treated differently from ordinary dependencies. The repository currently provides a Clojure graph scanner and source extractor, with interfaces intended for future language implementations. It requires the Clojure CLI and Java 21 or later. An optional companion workflow starts an interactive Grok session in the examined project, creates or updates a hierarchical policy, regenerates the IR, and later reruns coverage, mutation, and IR generation after changes. Communication between the viewer and companion uses EDN mailbox files, and the viewer can request regeneration or a controlled restart. The documentation emphasizes that agents edit policy rather than generated IR, and that a stray restart can leave a diagram without its agent.