CRYSTAL-FACET-UML(1)
π CRYSTAL-FACET-UML(1) β crystal-facet-uml, the UML bestie π
okay so. bestie. let me put you ON to crystal-facet-uml, a command line tool with main character energy. Like, this is the crystal-facet-uml manual page for Unix and Linux systems, and it's giving "I make UML diagrams and I'm not sorry about it." β¨
πΈ NAME πΈ
crystal-facet-uml β creates a set of uml diagrams. crystal-facet-uml ensures consistency of relationships and uml element names between different diagrams. crystal-facet-uml exports diagrams in various vector and pixel-based image formats.
Like... it doesn't just draw ONE diagram and ghost you. It keeps a whole set of them in sync β names, relationships, all of it β and then yeets them out in any image format your little heart desires. no cap. π
π¦ SYNOPSIS π¦
the vibes, formally:
crystal-facet-uml [-u database_file ]
crystal-facet-uml {-t | -r} database_file
crystal-facet-uml {-h | -v}
crystal-facet-uml -e database_file export_format export_directory
crystal-facet-uml -i database_file import_mode json_input_file
π DESCRIPTION π
crystal-facet-uml hands you a graphical user interface so you can:
- create, modify and delete diagrams
- create, modify and delete UML/SysML elements
- create, modify and delete relationships
- cut, copy, paste elements between diagrams
- undo and redo are supported (we love a safety net π)
- multiple windows can show different or same parts of the uml model
- search for elements
Diagrams are layouted part-automatically, which is a whole collab:
- The user chooses the relative location of elements towards others
- crystal-facet-uml defines the exact locations of shown elements
- The user controls the positions of messages/transitions in sequence and timing diagrams
- crystal-facet-uml auto-layouts relationships in other diagrams
it manages a meta model, which is lowkey the brain of the whole operation π§ β¨:
- Diagrams are organized as a tree, similar to a book's table-of-contents
- Uml(TM)/SysML(TM) elements exist only once even if shown in many diagrams
- Relationships and features are consistent between all diagrams
- Diagram-local messages/transitions are supported in interaction diagrams: sequence, communication, timing, interaction overview
- These extension mechanisms of UML are supported: Tagged values and stereotypes including stereotype images
Diagrams can be exported as:
- images: pdf, ps, svg, png
- text: utf-8, DocBook, html
- machine-readable model: json, xmi(TM)
crystal-facet-uml can also be started from command line β periodt:
- to export all diagrams automatically or
- to import a previously exported json file or
- to check and repair database files
β¨ OPTIONS β¨
Without options, the program starts in graphical mode. See crystal-facet-uml_documentation.pdf for graphical mode usage. π«Ά
-u database_fileβ Starts in graphical mode and opens thedatabase_fileimmediately.
If the file does not exist, a new, empty database is created. If database_file ends on .cfu1, a binary database file is created. Otherwise, a json data file is created.
-t database_fileβ Tests the consistency of adatabase_file. In case of an error, a non-zero value is returned. π-r database_fileβ Tests the consistency of adatabase_fileand repairs found issues. (glow-up mode π©Ή)-hβ Show summary of options.-vβ Show version.-e database_file export_format export_directoryβ Exports all diagrams of adatabase_fileinexport_formatto theexport_directory. Valid formats are: docbook, html, json, pdf, png, ps, svg, txt, xmi. Please be aware that the export overwrites possibly existing files in theexport_directorywithout notice.-i database_file import_mode json_input_fileβ Imports elements fromjson_input_fileto thedatabase_file. Valid modes are: check, add. Please create a backup of yourdatabase_filebefore importing.
β οΈ bestie READ THIS:-eoverwrites possibly existing files in theexport_directorywithout notice. no warning, no sorry, just gone. and-i... please create a backup of yourdatabase_filebefore importing. protect your babies. π
π EXAMPLE π
The json-based data file can be stored in a version control system (vcs) like svn or git.
- Close the crystal-facet-uml application before synchronizing a file with your vcs. Do not synchronize the file with your vcs while you modify it at the same time.
- In case of merge conflicts in the json-based data files, note that
uuidstrings do uniquely identify all json objects. Relations between objects are defined by theseuuidstrings. In contrast to uuids,integer-idcan be changed as long as they are unique among all objects of same type within the file. Also the names of classifiers (nodes) must be unique. - To see the changes between versions of the json file, consider to use the patience option:
git diff --patienceThe result may better explain the changes.
like. git + json + uuids = the trio that actually keeps your diagram history iconic. π
π DIAGNOSTICS π
The following diagnostics may be issued on syslog:
EVT : ...β An event occurred (DEBUG mode only).ANOM: ...β Something unexpected happened that was handled (DEBUG mode only).WARN: ...β Something unexpected happened that may cause a failure.ERR : ...β Something unexpected happened that has caused a failure.
journalctl -f allows one to read the syslog. π
π BUGS π
The upstreams BTS can be found at https://github.com/awarnke/crystal-facet-uml/issues.
πΈ AUTHOR πΈ
Andreas Warnke <cfu@andreaswarnke.de> wrote this manpage for Unix and Linux systems.
π COPYRIGHT π
Copyright Β© 2018-2026 Andreas Warnke
This manual page was written for Unix and Linux systems.
Permission is granted to copy, distribute and/or modify this document under the terms of the Apache-2.0 License.
k that's the whole thing, no skips, no shortcuts, every single flag accounted for. slay. π
this page is crystal-facet-uml and it's dated 03/07/2026 β mwah, stay consistent bestie π¦π
π¦ where this page comes from
- ubuntu stonking: crystal-facet-uml 1.69.0-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms