Skip to content

Latest commit

 

History

10,941 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeCharta logo

CodeCharta

See how your code is built, and what it is about.

CodeCharta turns any codebase into a 3D city of metrics and a map of its domain language.
Spot hotspots in seconds. Show your team what you mean instead of explaining it.

▶ Try the live demo • Staging demo • Quickstart • Documentation • Releases

Analysis Version Badge Visualization Version Badge Release Analysis Badge Release Visualization Badge
Quality Gate Analysis Quality Gate Visualization License
Web Studio Badge Web Studio Staging Badge

CodeCharta's own code as a 3D city: area is lines of code, height and color are complexity CodeCharta's own domain vocabulary as a word cloud

CodeCharta analysing itself. Left: every building is a file, big and red means large and complex. Right: the words the code is written in.

Two views of one codebase

🏙️ Metric view: find the hotspots

Every file is a building. You pick what area, height and color mean: lines of code, complexity, number of commits, number of authors, function length and dozens more. The files that need your attention stick out of the skyline.

  • Hotspots: big + tall + red = large, complex and changed all the time
  • Knowledge silos: color by number of authors to find code only one person understands
  • Temporal coupling: edges connect files that always change together, even without an import
  • Filter and focus: search, flatten or exclude files, including by rule like complexity > 50
  • Scenarios: built-in and saved presets for complexity, code smells, authors and more
  • 3D print: export the city as a 3D model and put your codebase on the table

Rotating the metric city of CodeCharta, then switching to the domain view

🔤 Domain view: read what the code is about

The domain language parser reads identifiers, comments and strings, filters out keywords and technical noise, and scores every word by frequency and TF-IDF. The result is the vocabulary of your business, not of your framework.

  • Word cloud per folder: pick any file or folder and see the words it is written in
  • Where does a word live? Open a word and get its breakdown over the file tree
  • Phrases, not just words: bigrams like commit hash or merge commit
  • Jump between views: from any node, Show in Metrics or Show in Domain

The word 'commit' opened in the domain explorer: 95% of its occurrences are in the analysis folder

Where does "commit" live? 95% in analysis, where the git log parser is.

📈 Delta view: see what changed

Load two versions and compare them. Green grew, red shrank, and you see where a release actually happened.

Delta between CodeCharta 2.0 and 2.5: green buildings grew, red shrank

Quickstart

1. Install the CodeCharta Shell (Node ≥ 22.19 and Java 17 to 21)

npm i -g codecharta-analysis

2. Analyse your project

cd my-project
ccsh unifiedparser . -o metrics.cc.json.gz                   # size, complexity, functions
ccsh gitlogparser repo-scan --repo-path . -o git.cc.json.gz  # commits, authors, coupling
ccsh domainlanguageparser . --ngrams=2 -o domain.cc.json.gz  # domain words and phrases
ccsh merge metrics.cc.json.gz git.cc.json.gz domain.cc.json.gz -o my-project.cc.json.gz

Or let simplecc.sh run every analysis available on your machine and merge the results for you. Not sure which command you need? ccsh -i asks you step by step.

3. Open it in the Web Studio: drag and drop the file, done.

Prefer a desktop app or Docker? See Getting started.

Your data stays local

All analysis and visualization run entirely on your machine. Nothing is uploaded, shared or sent anywhere. There is no analytics, tracking or telemetry.

What CodeCharta can read

Source code Unified parser: Java, Kotlin, TypeScript, JavaScript, Python, C#, C, C++, Go, Rust, PHP, Ruby, Swift, Objective-C, Vue, Bash, Delphi
Domain language Domain language parser: words and phrases with frequency and TF-IDF
Version control Git log, SVN log
Any text Raw text: indentation levels for any language
Your other tools SonarQube, Coverage, DependaCharta, Tokei, Code Maat, SourceMonitor, CSV

Merge any combination into one map, reshape its folder tree, or export it to CSV.

Get Involved

Do you have a bug, feature request, or question? Please open a new issue. Feedback is always welcome.

Want more information? Check out our documentation and release notes.

Service Offerings

Your company needs professional support to analyse your code base? We offer a service to help you with that.

Software Health Check

A full Software Health Check for your codebase and everything around it. Click the link to learn more: Software Health Check

Links

License

BSD-3-Clause License


Made with ❤ by MaibornWolff  ·  GitHub @MaibornWolff

About

CodeCharta is a visualization tool that transforms complex software architecture and code metrics into interactive, customizable visual maps, empowering everyone to communicate and analyze your codebase. Improve code quality, maintainability, and architectural decisions

Topics

Resources

Stars

537 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages