Use the CLI

transpiler-mate cwl2citation --output citations workflow.cwl#main

All five formats are generated by default. Repeat --format to select a subset:

transpiler-mate cwl2citation --format cff --format csl-json --output metadata workflow.cwl
transpiler-mate cwl2citation --format text --style ieee --locale en-US --output ieee workflow.cwl
Option Default Meaning
--output citations Output directory; existing selected files cause failure
--format all five Repeatable: cff, bibtex, ris, csl-json, text
--style apa Packaged CSL style name or local .csl path
--locale en-US Installed CSL locale
--doi metadata DOI, if any Software DOI override, bare or DOI URL
--released absent Publication/release date in YYYY-MM-DD form
--url DOI URL, then repository Software landing page
--code-repository absent Source code HTTP(S) URL

Publication metadata example (replace the example DOI with your software DOI):

transpiler-mate cwl2citation --doi 10.1234/example --released 2026-09-18 \
  --code-repository https://github.com/example/workflow --output published workflow.cwl#main

Use apa, ieee, harvard-cite-them-right, or another packaged independent bibliography style. Local independent CSL files are supported. Dependent styles, styles without a bibliography, invalid files, and unknown locales fail before outputs are written. Style and locale are only loaded when text is selected. citeproc-py supports a subset of CSL behavior; verify your journal's requirements against rendered output.

Place CITATION.cff at your repository root to make citation metadata available to GitHub. Import BibTeX or RIS into your reference manager, or feed CSL-JSON into another CSL processor. The plugin does not upload files or register a DOI.