The hero is one who kindles a great light in the world, who sets up blazing torches in the dark streets of life for men to see by.
-- Felix Adler
Metric Hero analyzes your codebase and builds interactive visualizations. Use it to more effectively learn your way around a new codebase, or to focus your efforts on evolving existing projects.
A Metric Hero render of the Ruby on Rails codebase:
This technique of software visualization is largely based on work from Richard Wettel and Michele Lanza -- specifically Wettel's Ph.D. thesis Software Systems as Cities.
In the current incarnation, a git repository is analyzed and projected onto three dimensions. Each building of the city represents a file on disk. The width and length of the buildings in the city are representative of the file size. The buildings are laid out using a Treemap tiling algorithm. The height of the buildings are determined based on relative commit times. Files that have been updated recently are taller.
(require 'metric-hero.core)
(metric-hero.core/analyze "/path/to/repo" :ignore [#"ignored" #"regex"])
- Copy output.json into resources/public
- Compile ClojureScript
lein cljsbuild once
- Start jetty:
lein run
- Visit
http://localhost:3000/
- Navigate with WASD, QE, RF, and Arrow Keys
Copyright © 2013 Robert Boyd
Distributed under the Eclipse Public License, the same as Clojure.