User guide
puml is a diagram compiler. You write .puml source — in PicoUML, PlantUML, or Mermaid syntax — and puml emits deterministic SVG (and, optionally, PNG).
This guide walks you from a one-line “hello” diagram through every supported family, then into the CLI and styling primitives you’ll reach for daily. Every snippet on these pages is also a fixture in the gallery and a test in the repo, so what you read here is what the compiler executes.
Start here
- Getting started — install, render your first diagram, integrate with your editor.
- CLI reference — modes, flags, exit codes, diagnostic streams.
- Syntax primer — the shared core all three dialects compile down to.
Diagram families
- Sequence diagrams
- Class diagrams
- Activity diagrams
- State diagrams
- All diagram families — one-line summaries with links into the gallery for each.
Styling and integration
In this section
- Getting started — Install puml, render your first diagram, and wire it into your editor.
- CLI reference — Every mode, flag, and exit code of the puml command-line tool.
- Syntax primer — The shared core syntax that all three frontends normalize into.
- Sequence diagrams — Participants, messages, lifelines, groups, and notes.
- Class diagrams — Classes, members, stereotypes, and relationships.
- Activity diagrams — Modern beta-style activity diagrams with if/while/repeat/fork.
- State diagrams — States, transitions, composite states, and history.
- All diagram families — Every diagram family puml recognizes, with links into the gallery.
- Themes and styling — Skinparams, themes, and visual token overrides.
- Markdown fences — Render diagrams embedded in Markdown documents.