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 the database_file immediately.

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 a database_file. In case of an error, a non-zero value is returned. πŸ”
  • -r database_file β€” Tests the consistency of a database_file and 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 a database_file in export_format to the export_directory. Valid formats are: docbook, html, json, pdf, png, ps, svg, txt, xmi. Please be aware that the export overwrites possibly existing files in the export_directory without notice.
  • -i database_file import_mode json_input_file β€” Imports elements from json_input_file to the database_file. Valid modes are: check, add. Please create a backup of your database_file before importing.
⚠️ bestie READ THIS: -e overwrites possibly existing files in the export_directory without notice. no warning, no sorry, just gone. and -i... please create a backup of your database_file before 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 uuid strings do uniquely identify all json objects. Relations between objects are defined by these uuid strings. In contrast to uuids, integer-id can 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 --patience The 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 Β© 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