Gocity
:bar_chart: Code City metaphor for visualizing Go source code in 3D
Install / Use
/learn @rodrigo-brito/GocityREADME
<a href="https://opensource.org/licenses/MIT">
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License MIT">
</a>
Available here: https://go-city.github.io
Research Paper: 26th International Conference on Software Analysis, Evolution and Reengineering (SANER) <br>PDF Version: ASERG Page
GoCity is an implementation of the Code City metaphor for visualizing source code. GoCity represents a Go program as a city, as follows:
- Folders are districts
- Files are buildings
- Structs are represented as buildings on the top of their files.
Structures Characteristics
- The Number of Lines of Source Code (LOC) represents the build color (high values makes the building dark)
- The Number of Variables (NOV) correlates to the building's base size.
- The Number of methods (NOM) correlates to the building height.
Installation
go install github.com/rodrigo-brito/gocity@latest- Or just head to the releases page and download the latest version for you platform.
Usage:
- Online: https://go-city.github.io
- Commands
gocity server- Start servergocity open <GITHUB_IMPORT>- Open a specific Github project from githubgocity open ./my-project- Open a local directory
UI / Front-end
The UI is built with React and uses babylon.js to plot 3D structures. The front-end source code is available in the front-end branch.
Related Works
This tool makes part of a scientific research developed at Federal University of Minas Gerais (UFMG)<br/> Student: Rodrigo Brito<br/> Advisor: Marco Tulio Valente
Related Skills
bluebubbles
330.7kUse when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
node-connect
330.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
slack
330.7kUse when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
xurl
330.7kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
