A lightweight, Dockerized utility to generate SVG diagrams from PlantUML files (.puml).
This tool encapsulates the Java Runtime, Graphviz, and PlantUML dependencies within a Docker container, allowing you to build diagrams on any host with Docker installed without polluting your local environment.
- Operating System: Linux, macOS, or Windows (via WSL2/Git Bash).
- Dependencies:
- Docker Engine (must be running).
- Bash shell (version 4.0+ recommended).
The Docker image encapsulates the build logic. While the installer handles this automatically, you can build the image manually if needed:
docker build -t proveo/spec:latest . The provided installation script builds the Docker image and installs the wrapper script to your local bin.
-
Ensure the script is executable:
chmod +x install.sh
-
Run the installer:
./install.sh
Note: You may be prompted for your password (
sudo) to copy the executable to/usr/local/bin.
Once installed, you can run the tool from any directory.
spec spec ./docs/diagrams Generate diagrams for all .puml files in the current directory (recursive):
-v, --verbose: Enable verbose output (shows internal Docker and PlantUML logs).-d, --dry-run: Print the Docker command without executing it.--debug: Enable shell debugging (set -x).-h, --help: Show help message.
- Output: Generates
.svgfiles next to their source.pumlfiles. - Exclusions: Automatically ignores
.git,dist, andbuilddirectories.
- Architecture:
spec-build.sh: The host-side wrapper.Dockerfile: The environment (Java + Graphviz).internal-build.sh: The logic running inside the container.
- Documentation:
- See
spec/components.pumlfor the component diagram. - See
spec/usage.pumlfor the execution flow.
- Conventions:
- Follow the Bash conventions defined in the project.
- Ensure
install.shremains the single source of truth for setup.
See the files at https://github.com/proveo-ca/spec/tree/main/_spec
- Ruin:
spec -v _spec/