# 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. Also installable with nix: nix profile install nixpkgs#clang-uml.

## 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
- **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>
- **Last updated:** 2026-07-06T22:28:31Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- clang-uml (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.6.3
## 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
## 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


## Combined YAML source

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


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
