PlantUML is an amazing diagramming tool.
puml
is a set of tools that makes diagramming with PlantUML easier.
It's opinionated and created with my personal needs in mind.
However the tool set is generic enough and might be useful for you as well.
Simply try it and decide for yourself.
puml
grew naturally from scripts I created for personal diagramming needs.
It allows to build a Docker image that includes an official release of PlantUML and following additional components and configuration settings:
- Beautiful fonts Noto (used by default) and Fire Code
PLANTUML_LIMIT_SIZE
environment variable is set to8192
to enable huge diagrams
- Docker
- entr(1), used in
puml watch
to monitor for changes in diagram source files
puml cli
Passes all given command-line arguments to PlantUML CLI.
puml serve
Starts a local PlantUML server available on port 8080.
puml render <path> [<format>]
Generates a diagram image from given PlantUML source file and send it to the standard output.
puml watch <path> [<format>]
Uses entr(1)
to watch for changes in given PlantUML source file.
An output diagram image is updated on each change in the source file.
Clone the repository:
git clone [email protected]:soulim/puml.git
Install puml
by creating a symbolic link to bin/puml
(in the following example a symbolic link is created in $HOME/.local/bin/
):
ln -sfn $PWD/bin/puml $HOME/.local/bin/puml
Build a local Docker image:
puml build
Test puml
(you should see an SVG source code):
cat test.puml | puml cli
puml
is open to code contributions for bug fixes only. As features might carry a
long-term maintenance burden, they will not be accepted at this time. Please
submit an issue if you have a feature you
would like to request.
Copyright (c) 2021-2025 Alexander Sulim
puml
is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
See COPYING for license text.