MCPcopy Index your code
hub / github.com/MaibornWolff/codecharta

github.com/MaibornWolff/codecharta @v2.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.0.0 ↗ · + Follow
4,181 symbols 12,038 edges 1,002 files 53 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CodeCharta

github_actions Quality Gate Analysis Quality Gate Visualization

CodeCharta by MaibornWolff

What is CodeCharta

CodeCharta is a beautiful tool to help you visualize and understand code. It can combine code metrics from multiple sources and visualize them using 3D tree maps. CodeCharta's two major parts are:

  • analysis: Command-Line-Tool for generating visualization data in the form of .cc.json files. It includes some pre-defined importers for e.g. SonarQube, SourceMonitor, SCM log information, generic csv data, as well as a command to validate and merge multiple data files.
  • visualization: GUI to visualize code metrics from .cc.json files. Imported files are validated using JSON Schema as defined in generatedSchema.json.

Screenshot of visualization

Usage

You can try the web visualization without any installation and explore the CodeCharta code (shown by default).

The visualization takes a .json file and to generate a new one you need to install the CodeCharta shell (ccsh). The are multiple ways to do so including non-global install. We'll use npm here because it is the most convenient:

npm i -g codecharta-analysis

For this example we'll also assume you want to analyze Junit4. CodeCharta is not limited to java code though.

# Download code base of your choice
git clone https://github.com/junit-team/junit4
# parse sources
ccsh sourcecodeparser junit4 -p junit4 -o junit4.source.cc.json
# done :)

You can now load this file (top left corner) either in the web or the local visualization:

npm i -g codecharta-visualization
  • If you want to analyze a different language or combine java metrics with git metrics, you should take a look at our Quick-Start Guide.
  • If you want to go further we have multiple how-tos. For example they'll explain how to integrate CodeCharta into your delivery pipeline.
  • If you want to know more about the ccsh api, please check the ccsh docs.

Feature request / Bug / Feedback

Have a bug, a feature request or any question? Please open a new issue. Feedback is always welcome.

Want to know what we are working on? Please click this Zenhub link or install the Zenhub Firefox/Chrome plugin.

Want to have even more information? Please check our news.

Further Information

Tool Information

Extension points exported contracts — how you extend this code

StoreSubscriber (Interface)
(no doc) [96 implementers]
visualization/app/codeCharta/state/store.service.ts
FileModification (Interface)
(no doc)
visualization/plop/plopHelper.ts
Validator (Interface)
(no doc)
analysis/tools/ValidationTool/src/main/kotlin/de/maibornwolff/codecharta/tools/validation/Validator.kt
Metric (Interface)
(no doc)
analysis/parser/RawTextParser/src/main/kotlin/de/maibornwolff/codecharta/parser/rawtextparser/metrics/Metric.kt
NodeMergerStrategy (Interface)
(no doc)
analysis/model/src/main/kotlin/de/maibornwolff/codecharta/model/NodeMergerStrategy.kt
LogParserStrategy (Interface)
(no doc)
analysis/import/SCMLogParserV2/src/main/kotlin/de/maibornwolff/codecharta/importer/scmlogparserv2/parser/LogParserStrategy.kt
NodeMergerStrategy (Interface)
(no doc)
analysis/filter/MergeFilter/src/main/kotlin/de/maibornwolff/codecharta/filter/mergefilter/NodeMergerStrategy.kt
FilesSelectionSubscriber (Interface)
(no doc) [36 implementers]
visualization/app/codeCharta/state/store/files/files.service.ts

Core symbols most depended-on inside this repo

dispatch
called by 357
visualization/app/codeCharta/state/store.service.ts
getState
called by 345
visualization/app/codeCharta/state/store.service.ts
getService
called by 287
visualization/mocks/ng.mockhelper.ts
get
called by 142
analysis/import/SCMLogParserV2/src/main/kotlin/de/maibornwolff/codecharta/importer/scmlogparserv2/parser/VersionControlledFilesList.kt
instantiateModule
called by 112
visualization/mocks/ng.mockhelper.ts
onStoreChanged
called by 98
visualization/app/codeCharta/state/store.service.ts
subscribe
called by 98
visualization/app/codeCharta/ui/codeMap/codeMap.preRender.service.ts
filter
called by 97
analysis/import/SonarImporter/src/main/kotlin/de/maibornwolff/codecharta/importer/sonar/filter/ErrorResponseFilter.kt

Shape

Method 2,549
Class 680
Function 658
Interface 208
Enum 86

Languages

TypeScript60%
Kotlin39%
Java1%
Python1%

Modules by API surface

visualization/app/codeCharta/ui/codeMap/threeViewer/threeSceneService.ts44 symbols
visualization/app/codeCharta/codeCharta.model.ts40 symbols
visualization/app/codeCharta/ui/codeMap/codeMap.mouseEvent.service.ts38 symbols
visualization/app/codeCharta/ui/nodeContextMenu/nodeContextMenu.component.ts36 symbols
visualization/app/codeCharta/ui/rangeSlider/rangeSlider.component.ts24 symbols
visualization/app/codeCharta/ui/codeMap/codeMap.preRender.service.ts24 symbols
visualization/app/codeCharta/ui/codeMap/rendering/codeMapMesh.ts23 symbols
visualization/app/codeCharta/ui/codeMap/codeMap.arrow.service.ts23 symbols
visualization/app/codeCharta/ui/viewCube/viewCube.mouseEvents.service.ts22 symbols
visualization/app/codeCharta/state/store/files/files.actions.ts22 symbols
visualization/app/codeCharta/ui/codeMap/threeViewer/threeOrbitControlsService.ts21 symbols
visualization/app/codeCharta/ui/mapTreeView/mapTreeView.level.component.ts20 symbols

For agents

$ claude mcp add codecharta \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page