BPMN 2.0 · Markdown · Open Source

BPMN als Text in Markdown — für Git, Docs und KI

Prozesswissen, das Code und KI gemeinsam nutzen können.

Echte BPMN-Modelle als Text — versionierbar in Git, einbettbar in Docs, nutzbar als Kontext für KI-Assistenten.

bpmn-md ist der Name der Syntax (eingebettet als bpmn-md-Codeblock in Markdown). processcontext.app ist die Produktmarke: Bibliothek, diese Site und die geplante Kollaborationsplattform.

Die TypeScript-Bibliothek (npm bpmn-md, MIT) parst, layoutet und rendert SVG. Ausführung (Camunda, Zeebe, …) bleibt bei eurer Engine — hier geht es um Modell im Repo, Review per Diff und Kontext für LLMs.

Stand: Bibliothek aktiv · Portal / Kollaboration in Arbeit

Auszug — dieselbe Quelle wird zur BPMN-SVG-Pipeline (lokal oder in CI)
@title "Freigabe (Mini)"
(start) --> [Prüfen]:user --> <OK?>
<OK?> -->|ja| (end)
<OK?> -->|nein| [Nachbearbeiten]:manual --> [Prüfen]:user

Code: MIT Syntax: CC BY 4.0 Kein Lock-in — reine Textdateien Warteliste ohne Spam-Versprechen

Wenn Prozess und Code auseinanderdriften

LLM-gestützte Entwicklung liefert oft Code — aber selten ein geteiltes Verständnis der Geschäftsprozesse dahinter. Prozessmodelle hängen in separaten Tools und sind für Git, Pull Requests und KI-Prompts kaum brauchbar.

processcontext.app schließt die Lücke: ihr beschreibt Abläufe als Text — lesbar für Menschen, diffbar in Git, parsebar für Automatisierung und KI — mit standardnaher BPMN (Pools, Lanes, Events, Gateways, Message Flows).

  • Prozessdokumentation im Repo — neben Code und Docs
  • LLM-Kontext — z. B. mit llms.txt und klarer Syntax
  • Kein Ersatz für Execution-Engines — Fokus auf Modellierung & Wissen
  • Kein Lock-in — eure Prozessdefinitionen bleiben eure Textdateien

Einsatzzweck: wofür sich processcontext.app eignet

Wenn ihr BPMN bereits aus Modellierungswerkzeugen kennt, aber Prozesswissen in Repos, Docs und KI-Prompts braucht — nicht nur auf einer separaten Modellierungsinsel.

  • Onboarding & Fachkonzepte: „So läuft der Claim-Prozess“ als Markdown-Kapitel mit echtem BPMN-Diagramm aus derselben Quelle.
  • Entwicklung mit KI: Prozessdateien als Kontext für Code-Reviews oder Pairing mit einem LLM — damit Vorschläge zum fachlichen Ablauf passen.
  • Review & Transparenz: Änderungen an Prozessdateien als Diff in Git nachvollziehbar — ohne proprietäre Binary-Formate.

Zielgruppen im Überblick

Entwicklungsteams

Wenn KI Code vorschlägt, soll sie den Prozess kennen — nicht nur Syntax. Prozessdateien im Repo geben LLMs Kontext für prozessnahere Implementierung und Reviews.

Prozessanalysten & Fachbereich

Prozesse lesbar wie eine Beschreibung, mit echtem BPMN im Hintergrund — nicht nur ein Flowchart. Einbettbar in Markdown, abstimmbar mit IT in denselben Werkzeugen wie die Dokumentation.

KI-Assistenz & Tooling

Ein standardisiertes Textformat für Prozesskontext: parsebar, diffbar, generierbar. Ergänzt Camunda/Signavio dort, wo Wissen in Git und Docs leben soll.

Die Bibliothek: Notation + Werkzeuge

Hinter der Landing steht ein TypeScript-Open-Source-Paket (Code MIT): ihr könnt Prozesse als Text pflegen und dieselbe Pipeline wie hier nutzen — Parser, automatisches Layout, SVG-Ausgabe. Die Syntax-Dokumentation im Repository ist CC BY 4.0. Die Syntax heißt im Markdown-Codeblock bpmn-md; die Produktmarke ist processcontext.app.

Was ihr fachlich gewinnt

Echtes BPMN

Nicht nur ein Flowchart: BPMN 2.0 mit Task-Typen, Gateways, Events, Pools, Lanes und Message Flows — im Gegensatz zu z. B. Mermaid, wo BPMN fehlt.

Text statt Insellösung

Markdown-Codeblöcke, Diffs in Pull Requests, Suche und Automatisierung wie bei normalen Quelltexten.

Diagramm aus derselben Quelle

Auto-Layout (ELK.js) erzeugt lesbare SVGs; optional Companion-JSON für manuelle Feinjustierung.

Playground & Portal

Live-Editor und Projektstruktur im Repo — für Teams, die zentral modellieren wollen.

Was die Bibliothek technisch liefert

  • DSL-Parser (Chevrotain): Events, Tasks, Gateways, alle Flow-Typen inkl. Message Flow
  • Pools, Lanes, Kollaborationen über Organisationen und Rollen
  • SVG-Rendering mit BPMN-nahen Symbolen
  • Direktiven: @title, @direction, @theme, Metadaten für Kataloge
  • Extraktion von ```bpmn-md-Blöcken aus Markdown
  • llms.txt als Leitfaden für KI-Assistenten zur Syntax

Syntax & Diagramm — für den tieferen Blick

Wenn Vision und Einsatz passen, lohnt sich der Blick in die Notation: kurze Textzeilen beschreiben den Prozess; die Bibliothek erzeugt daraus das BPMN-Diagramm (SVG). Unten siehst du typische Bausteine — jeweils Code neben dem gerenderten Bild (auf dem Desktop nebeneinander, auf dem Handy untereinander). Kein zusätzliches Scrollfenster: du scrollst die Seite wie gewohnt. Wo der Codeblock eine Kurzreferenz ist (z. B. Listen von Ereignissen oder Task-Typen), zeigt das Bild daneben trotzdem einen fachlich stimmigen Mini-Prozess mit genau diesen Bausteinen — keine reine Syntax-Kette. Vollständige Grammatik: docs/syntax-spec.md im Repository (mit dem npm-Paket bpmn-md oder dem verlinkten Quellcode). Die Vorschauen nutzen dieselbe Render-Pipeline wie die Bibliothek.

Direktiven & Mini-Prozess

Titel, Layout, Metadaten; darunter ein kompakter Ablauf mit XOR und Nachrichtenfluss zwischen Kunde und Onlinehandel.

@title "Bestellung (Mini)"
@direction LR
@version "1.0.0"

pool "Kunde"
  (start) --> [Bestellen]:user
  [Bestellen] -..-> [Auftrag erfassen]

pool "Onlinehandel"
  [Auftrag erfassen] --> <Lieferbar?>
  <Lieferbar?> -->|ja| (end)
  <Lieferbar?> -->|nein| (end:error)
BPMN-Diagramm: Bestellung mit Pools Kunde und Onlinehandel, Gateway Lieferbar und Nachrichtenfluss

Mini-Prozess: Bestellung, Prüfung „Lieferbar?“, sauber getrennte Teilnehmer.

Ereignisse (Start, Ende, Zwischen, werfen)

Links: kompakte Syntax-Übersicht. Rechts: korrelierender Message-Start zwischen Sachbearbeitung und Antragsteller (Nachreichung von Unterlagen).

// Start
(start) (start:message) (start:timer) (start:signal) (start:conditional)
(start:escalation) (start:error) (start:multiple) (start:parallel)

// Ende
(end) (end:message) (end:error) (end:terminate) (end:signal) (end:escalation)
(end:compensation) (end:cancel) (end:multiple)

// Zwischen (Catch)
(timer) (message) (signal) (conditional) (escalation) (compensation)
(link) (link:Weiter) (multiple) (parallel)

// Werfen (Throw)
(throw:message) (throw:signal) (throw:escalation) (throw:compensation)
(throw:link:Weiter) (throw:multiple) (throw:parallel)

// Benannte Message-Korrelation
(message:AuftragBestaetigt) (throw:message:AuftragBestaetigt)
(start:message:AuftragEingang) (end:message:Abschluss)

// Aliase
(start) as begin "Eingang"
(timer) as w48h "48h"
BPMN-Diagramm: Zwei Pools, Nachrichtenfluss zur Nachreichung von Unterlagen mit Message-Start

Fachlich: fehlende Unterlagen auslösen Nachricht an den Antragsteller; Rücklauf per Nachrichtenfluss zur erneuten Prüfung.

Aufgaben (Tasks)

Links: Task-Typen und Zusätze. Rechts: durchgängiger Ablauf Eingangsrechnung bis Buchung — jeder Schritt nutzt einen passenden BPMN-Task-Typ.

[Generische Aufgabe]
[Prüfen]:user [API]:service [Skript]:script
[Senden]:send [Empfangen]:receive [Empfang mit Ref]:receive:NachrichtX
[Manuell]:manual [Regel]:rule

// Multi-Instance & Schleife
[Parallel-Batch]:service:parallel
[Der Reihe nach]:user:sequential
[Wiederholen bis OK]:service:loop

// Alias
[Genehmigen]:user as approve
BPMN-Diagramm: Rechnungsprüfung mit User-, Service-, Script-, Send-, Receive-, Manual- und Business-Rule-Task

Praxisnahe Kette: Prüfung, Schnittstellen, Benachrichtigung, Zahlungsavis, Sonderfall, Regel — statt generischer Platzhalter.

Grenzereignisse (Boundary)

~ = unterbrechend, ~! = nicht unterbrechend; danach per Alias weiterverzweigen.

[Warten auf Freigabe]:user~(timer) as sla "2 Werktage"
[Warten auf Freigabe] --> [Freigabe verbuchen]:service
sla --> [Eskalation an Vorgesetzte]:send

[Review]:user~!(message) as erinnerung
erinnerung --> [Mail senden]:send
BPMN-Diagramm: Freigabe mit SLA-Timer-Grenzereignis und Eskalationspfad

SLA-Überschreitung bricht die Wartezeit ab und löst Eskalation aus; Normalfall verbucht die Freigabe.

Gateways

Links: alle Gateway-Symbole in der Syntax. Rechts: Antragskontext — XOR nach Risiko, parallele Prüfungen, inklusive Zusammenführung vor der Freigabeentscheidung (ohne künstliche „alle Typen in einer Reihe“).

<Exklusiv?>          // XOR
<+Parallel>          // AND
<o Inklusiv?>        // OR
<* Ereignis-Gateway?> // ereignisbasiert
<# Komplex?>         // Complex
BPMN-Diagramm: Antragsprüfung mit exklusivem Gateway, parallelen Zweigen und inklusivem Entscheidungs-Gateway

XOR (Risikoprofil), AND (parallele Checks), OR (Freigabe möglich?) in einem nachvollziehbaren Szenario.

Kontrollfluss & Nachrichtenfluss
[A] --> [B]
<Genehmigt?> -->|ja| [Ausführen]
<Genehmigt?> ==>|default| [Standardpfad]
[Prüfen] ~~>|Betrag > 1000| [Sonderfreigabe]
[Einkauf] -..-> [Lieferant]    // Message Flow zwischen Teilnehmern
BPMN-Diagramm: Einkauf und Lieferant mit Nachrichtenfluss und Gateway Annahme

Anfrage per Send-Task und Nachrichtenfluss; beim Lieferanten Entscheidung Annahme mit Default-Zweig.

Pools, Lanes, einfacher Prozess ohne Pool
pool "IT-Service"
  lane "1st Level"
    (start) --> [Ticket annehmen]
  lane "2nd Level"
    [Ticket annehmen] --> [Störung analysieren] --> (end)

// Ohne pool/lane (ein Teilnehmer):
(start) --> [Eingang] --> <OK?> -->|nein| (end)
<OK?> -->|ja| [Fertig] --> (end)
BPMN-Diagramm: IT-Service-Pool mit Lanes 1st Level und 2nd Level

Ticket fließt von Front- zu Second-Level-Support (Prozess ohne Pool siehe Code oben).

Subprozesse, Call Activity, Transaktion, Ereignis-Subprozess
subprocess "Kartenzahlung"
  (start) --> [PSP autorisieren]:service --> <Genehmigt?>
  <Genehmigt?> -->|ja| (end)
  <Genehmigt?> -->|nein| (end:error)
end

[[Budgetfreigabe einholen]]           // Call Activity (collapsed)
[[Budgetfreigabe einholen]]:expanded   // optional inline

transaction "Buchung"
  [Schritt 1]:service --> [Schritt 2]:service --> (end)
end

subprocess "Haupt"
  (start) --> [Arbeiten] --> (end)
  event-subprocess "Storno"
    (start:message) --> [Stornieren]:user --> (end)
  end
end
BPMN-Diagramm: Erweiterter Subprozess Kartenzahlung und Call Activity Budgetfreigabe mit nachfolgender Buchung

Detailprozess Zahlung neben wiederverwendbarer Budgetfreigabe und nachgelagerter Buchung.

Datenobjekte, Datenspeicher, Gruppen, Textannotation
{Rechnung PDF}     {Positionen}[]     {{FiBu}}

@group "Compliance" [AML prüfen], [KYC prüfen]

[Schritt] --- "Hinweis für Leser: SLA 48h"
[Ausgangsrechnung erzeugen] --- {Rechnung PDF}
BPMN-Diagramm: Ausgangsrechnung mit Datenobjekt PDF, Annotation und Datenspeicher FiBu

Rechnungserzeugung mit Dokument, Leserhinweis und Buchhaltungsspeicher.

Verweise (as)
[Prüfen]:service as chk
<Bestand?> as gw
chk --> gw
gw -->|ja| [Versand]
gw -->|nein| [Nachbestellen]
BPMN-Diagramm: Lager mit Bestandsprüfung und Verzweigung über as-Aliase

Gleiche Elemente mehrfach ansprechen: Prüfung und Gateway per Alias, dann Versand oder Nachbestellung.

Updates & früher Zugang

Eintragen und nichts verpassen

Du bekommst nur Nachrichten zu Portal, Produkt-Updates und Releases der Bibliothek — typischerweise wenige Mails pro Quartal, kein Sales-Spam. Inhaltlich melden wir uns, sobald es z. B. eine testbare Portal-Preview oder ein relevantes Release gibt (sagen wir in der Mail dazu). Die Anmeldung läuft serverseitig über Mailchimp; kein API-Key landet im Browser.