# Install clang-uml with Homebrew, MacPorts, Nix, winget

Customizable automatic UML diagram generator for C++ based on Clang. Version 0.6.3 via Homebrew; verified 2026-07-06.

## Install

```sh
sudo av install brew:clang-uml
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install clang-uml
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install clang-uml
```

  Evidence: MacPorts ports tree: devel/clang-uml/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#clang-uml
```

  Evidence: nixpkgs package indexes: pkgs/by-name/cl/clang-uml/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- winget (92%):

```sh
winget install --id bkryza.clang-uml -e
```

  Evidence: Windows Package Manager source index: bkryza.clang-uml from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:clang-uml
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/clang-uml>
- **Version:** 0.6.3
- **Source summary:** Customizable automatic UML diagram generator for C++ based on Clang
- **Homepage:** <https://github.com/bkryza/clang-uml>
- **Repository:** <https://github.com/bkryza/clang-uml>
- **Upstream docs:** <https://clang-uml.github.io/>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/bkryza/clang-uml/archive/refs/tags/0.6.3.tar.gz>
- **Last updated:** 2026-07-06T22:28:31Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- clang-uml (cli)
- clang-uml (alias)

## Dependencies

- llvm
- yaml-cpp

## Build dependencies

- cmake
- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.6.3
- Package-manager updated: 2026-07-06
- Local data: ok
- Upstream repository: https://github.com/bkryza/clang-uml
- Upstream latest detected: 0.6.3 (current)
## Project history and usage

clang-uml is a Clang-based automatic diagram generator for C, C++, and Objective-C codebases, using YAML configuration to produce class, sequence, package, and include diagrams.

### Project history

The public repository was created in 2021. Its README describes the project as a way to keep diagrams up to date inside a codebase and to document legacy code from real source, with output support for PlantUML, Mermaid, GraphML, and JSON.

The release series has grown from 0.1.0 through 0.6.x, with the Homebrew stable version 0.6.2 using LLVM 21 and yaml-cpp. The documentation includes a dedicated configuration reference and quick-start workflow around a .clang-uml file.

### Adoption history

Distribution broadened beyond source builds: the input metadata lists Homebrew, MacPorts, Nix, and winget packaging. Homebrew ships bottles for macOS and Linux and reported 615 installs over the prior 365 days for the formula.

### How it is used

A typical workflow is to run clang-uml --init, edit .clang-uml to point at a compile_commands.json database and diagram definitions, then generate PlantUML, Mermaid, GraphML, or JSON diagram output from selected source globs.

### Why package nerds care

clang-uml matters to package nerds because it is a substantial LLVM consumer packaged as a cross-platform CLI: it exposes the friction points of compiler-version pinning, C++ dependency packaging, and diagram-tool integration in one formula.

### Timeline

- 2021: GitHub repository created.
- 2024: 0.5.x releases expanded the maintained release train.
- 2025: 0.6.0, 0.6.1, and 0.6.2 releases published.
- 2026: Homebrew formula metadata lists 0.6.2 as stable with bottles for macOS and Linux.

### Related projects

- clang-include-graph is a narrower sibling project by the same author focused on include relationships.
- PlantUML, Mermaid, and GraphML are core output ecosystems for clang-uml, while Clang's JSON compilation database is the build-system interface.

### Sources

- <https://github.com/bkryza/clang-uml#readme>
- <https://clang-uml.github.io/>
- <https://github.com/bkryza/clang-uml/blob/master/docs/configuration_file.md>
- <https://github.com/bkryza/clang-uml/blob/master/docs/quick_start.md>
- <https://api.github.com/repos/bkryza/clang-uml>
- <https://api.github.com/repos/bkryza/clang-uml/releases>
- <https://formulae.brew.sh/api/formula/clang-uml.json>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ./.clang-uml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** clang-uml
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - clang-uml: normalized package name match | nixpkgs package indexes: pkgs/by-name/cl/clang-uml/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - clang-uml: normalized package name match | MacPorts ports tree: devel/clang-uml/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- winget - bkryza.clang-uml: normalized package name match | Windows Package Manager source index: bkryza.clang-uml from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [llvm](https://www.automicvault.com/pkg/brew/llvm/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [clang-include-graph](https://www.automicvault.com/pkg/brew/clang-include-graph/) - Shares av.db curated category or tags: clang, cli, code-analysis, cpp, developer-tools.
- [include-what-you-use](https://www.automicvault.com/pkg/brew/include-what-you-use/) - Shares av.db curated category or tags: clang, cli, code-analysis, cpp, developer-tools.
- [overarch](https://www.automicvault.com/pkg/brew/overarch/) - Shares av.db curated category or tags: cli, developer-tools, diagramming, plantuml, uml.
- [sdedit](https://www.automicvault.com/pkg/brew/sdedit/) - Shares av.db curated category or tags: cli, developer-tools, diagramming, uml.
- [swiftplantuml](https://www.automicvault.com/pkg/brew/swiftplantuml/) - Shares av.db curated category or tags: cli, developer-tools, diagramming, plantuml, uml.
- [umlet](https://www.automicvault.com/pkg/brew/umlet/) - Shares av.db curated category or tags: cli, developer-tools, diagramming, uml.
- [cargo-llvm-lines](https://www.automicvault.com/pkg/brew/cargo-llvm-lines/) - Shares av.db curated category or tags: cli, code-analysis, developer-tools.
- [castxml](https://www.automicvault.com/pkg/brew/castxml/) - Shares av.db curated category or tags: clang, cli, code-analysis, developer-tools.
- [clang-build-analyzer](https://www.automicvault.com/pkg/brew/clang-build-analyzer/) - Package names and metadata indicate a similar tool family. Shared terms: analysis, clang, cli, cpp, developer.

## Combined YAML source

View the package source record on GitHub. [combined/clang-uml.yml](https://github.com/automic-vault/db/blob/main/combined/clang-uml.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
