plantuml-syntax
Authoritative reference for PlantUML diagram syntax. Provides UML and non-UML diagram types, syntax patterns, examples, and setup guidance for generating accurate PlantUML diagrams.
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
PlantUML Syntax Reference
Overview
PlantUML is a Java-based tool that creates diagrams from text descriptions. It supports comprehensive UML diagrams and many non-UML diagram types.
Key advantages:
- Most comprehensive diagram support (15+ types)
- Mature C4 model integration with icons/sprites
- Extensive customization options
- Battle-tested (since 2009)
Requirements:
- Java Runtime Environment (JRE)
- GraphViz (for some diagram types)
- Or use Docker:
docker run -p 8080:8080 plantuml/plantuml-server
Diagram Types Quick Reference
UML Diagrams
| Type | Keywords | Best For |
|---|---|---|
| Sequence | @startuml |
Interactions, API flows, protocols |
| Use Case | @startuml |
Requirements, user stories |
| Class | @startuml |
OOP design, domain models |
| Activity | @startuml |
Workflows, processes |
| Component | @startuml |
System structure |
| Deployment | @startuml |
Infrastructure, deployment |
| State | @startuml |
State machines |
Non-UML Diagrams
| Type | Keywords | Best For |
|---|---|---|
| JSON | @startjson |
JSON structure visualization |
| YAML | @startyaml |
YAML structure visualization |
| Wireframe | @startsalt |
UI mockups |
| Gantt | @startgantt |
Project timelines |
| MindMap | @startmindmap |
Hierarchical ideas |
| WBS | @startwbs |
Work breakdown |
| ER | @startuml |
Database schemas |
| C4 | @startuml with C4 include |
Software architecture |
Basic Syntax
All PlantUML diagrams are wrapped in start/end tags:
@startuml
' Your diagram code here
@enduml
Comments:
- Single line:
' This is a comment - Block:
/' This is a block comment '/
Title and captions:
@startuml
title My Diagram Title
caption This is a caption
header Page Header
footer Page Footer
' Diagram content
@enduml
Quick Reference Card
Sequence
@startuml
participant A
participant B
A -> B: Message
A <-- B: Response
@enduml
Class
@startuml
class Name {
- private
+ public
+ method()
}
A <|-- B : extends
A *-- B : contains
@enduml
Activity
@startuml
start
:Action;
if (condition?) then (yes)
:True path;
else (no)
:False path;
endif
stop
@enduml
State
@startuml
[*] --> State1
State1 --> State2 : event
State2 --> [*]
@enduml
Component
@startuml
[Component1] --> [Component2]
database DB
Component2 --> DB
@enduml
References
For detailed syntax and complete examples, see:
| Reference | Content | When to Load |
|---|---|---|
| sequence.md | Participants, arrows, activation, groups, notes | Creating sequence diagrams |
| class.md | Classes, visibility, relationships, cardinality | Creating class diagrams |
| activity.md | Conditions, swimlanes, fork/join | Creating activity diagrams |
| state-component.md | State machines, components, deployment | Creating state/component diagrams |
| c4.md | C4 context, container, component diagrams | Creating C4 architecture diagrams |
| special-diagrams.md | ER, JSON, MindMap, Gantt | Creating non-UML diagrams |
| styling-setup.md | Skinparams, themes, installation | Customizing diagrams, setting up PlantUML |
File Extensions
| Extension | Description |
|---|---|
.puml |
Standard PlantUML file |
.plantuml |
Alternative extension |
.pu |
Short extension |
.iuml |
Include file |
Test Scenarios
Scenario 1: Creating a sequence diagram
Query: "Create a PlantUML sequence diagram for user authentication"
Expected: Skill activates, provides sequence syntax with participants, arrows, and alt/else blocks
Scenario 2: Creating a class diagram
Query: "Generate a PlantUML class diagram for an e-commerce domain"
Expected: Skill activates, provides class syntax with relationships and cardinality
Scenario 3: Creating a C4 diagram
Query: "Create a C4 container diagram in PlantUML"
Expected: Skill activates, directs to c4.md reference for includes and syntax
Last Updated: 2025-12-28 PlantUML Version: 1.2024.6
Version History
- v1.1.0 (2025-12-28): Refactored to progressive disclosure - extracted content to references/
- v1.0.0 (2025-12-26): Initial release
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-02-04
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!