|
1 | 1 | # OrgScript Handbuch (Deutsch) |
2 | 2 |
|
3 | | -## Einführung |
4 | | -OrgScript ist eine menschenlesbare, KI-freundliche Beschreibungssprache für operative Logik, Prozesse und Regeln. Es ist keine Programmiersprache im klassischen Sinne, sondern eine strukturierte Ebene zwischen natürlicher Sprache und technischer Ausführung. |
| 3 | +OrgScript ist eine menschenlesbare, KI-freundliche Beschreibungssprache fuer Geschaeftslogik, Workflows, Rollen, Regeln und Zustandsuebergaenge. |
5 | 4 |
|
6 | | -## Kernkonzepte |
| 5 | +Dieses Handbuch ist der kurze praktische Einstieg. Die kanonische Sprachdefinition steht in `spec/language-spec.md`. |
7 | 6 |
|
8 | | -### Prozesse (`process`) |
9 | | -Ein Prozess beschreibt den operativen Ablauf einer Aufgabe. Er beginnt oft mit einem Auslöser (`when`) und enthält bedingte Anweisungen (`if`, `then`, `else`). |
10 | | -- **Anweisungen**: `assign` (Zuweisung), `transition` (Zustandswechsel), `notify` (Benachrichtigung). |
| 7 | +## Wofuer OrgScript gedacht ist |
11 | 8 |
|
12 | | -### Zustandsflüsse (`stateflow`) |
13 | | -Zustandsflüsse definieren den Lebenszyklus eines Objekts (z. B. ein Auftrag oder ein Lead). |
14 | | -- **states**: Die möglichen Zustände. |
15 | | -- **transitions**: Die erlaubten Pfade zwischen den Zuständen. |
| 9 | +Nutze OrgScript, wenn du eine textbasierte gemeinsame Quelle fuer Folgendes brauchst: |
16 | 10 |
|
17 | | -### Regeln (`rule`) |
18 | | -Regeln definieren dauerhafte Bedingungen oder Validierungen, die für ein Objekt gelten ("Guardrails"). |
| 11 | +- operative Prozesse |
| 12 | +- Freigabelogik |
| 13 | +- Berechtigungsgrenzen |
| 14 | +- Zustandsuebergaenge |
| 15 | +- Eskalationsregeln |
| 16 | +- Kennzahlen |
| 17 | +- KI- und Tooling-Kontexte |
19 | 18 |
|
20 | | -### Rollen (`role`) |
21 | | -Rollen definieren Berechtigungsgrenzen (`can`, `cannot`). |
| 19 | +OrgScript liegt zwischen Fliesstext-Dokumentation und Implementierungscode. Es beschreibt Logik, es fuehrt sie nicht aus. |
22 | 20 |
|
23 | | -## Nutzung des CLI (Kommandozeile) |
| 21 | +## Zentrale Bausteine |
24 | 22 |
|
25 | | -OrgScript bietet ein mächtiges CLI-Werkzeug (`orgscript`): |
| 23 | +### `process` |
26 | 24 |
|
27 | | -1. **Check**: `orgscript check <datei>` — Validiert Syntax, lintert die Logik und prüft die Formatierung. |
28 | | -2. **Analyse**: `orgscript analyze <datei>` — Liefert strukturelle Metriken und Komplexitätshinweise. |
29 | | -3. **Export**: |
30 | | - - `export mermaid`: Generiert Diagramme. |
31 | | - - `export html`: Erzeugt eine vollwertige Dokumentationsseite. |
32 | | - - `export context`: Bereitet die Logik für KI-Systeme auf. |
| 25 | +Nutze `process` fuer Schritt-fuer-Schritt-Ablaeufe. |
33 | 26 |
|
34 | | -## Best Practices |
35 | | -- **Inkrementell arbeiten**: Fange mit einfachen Zuständen an und füge Prozesse hinzu. |
36 | | -- **KI nutzen**: Nutze `export context`, um KI-Agenten zuverlässig über deine internen Abläufe zu informieren. |
37 | | -- **Git verwenden**: Versioniere deine Logik wie Code. |
| 27 | +Typische Beispiele: |
38 | 28 |
|
39 | | ---- |
40 | | -*Version 0.9.0-rc1 / OrgScript Release Candidate* |
| 29 | +- Lead-Qualifizierung |
| 30 | +- Angebot zu Auftrag |
| 31 | +- Onboarding |
| 32 | +- Rueckerstattungsprozess |
| 33 | + |
| 34 | +### `stateflow` |
| 35 | + |
| 36 | +Nutze `stateflow` fuer zulaessige Zustaende und erlaubte Uebergaenge. |
| 37 | + |
| 38 | +Typische Beispiele: |
| 39 | + |
| 40 | +- Auftragslebenszyklus |
| 41 | +- Ticket-Lebenszyklus |
| 42 | +- Lead-Lebenszyklus |
| 43 | + |
| 44 | +### `rule` |
| 45 | + |
| 46 | +Nutze `rule` fuer Regeln und Bedingungen, die immer gelten sollen, wenn eine Bedingung zutrifft. |
| 47 | + |
| 48 | +### `role` |
| 49 | + |
| 50 | +Nutze `role` fuer Berechtigungen und Grenzen mit `can` und `cannot`. |
| 51 | + |
| 52 | +### `policy` |
| 53 | + |
| 54 | +Nutze `policy` fuer kontext- oder zeitabhaengiges Organisationsverhalten. |
| 55 | + |
| 56 | +### `event` |
| 57 | + |
| 58 | +Nutze `event` fuer benannte Ausloeser mit Standardreaktionen. |
| 59 | + |
| 60 | +### `metric` |
| 61 | + |
| 62 | +Nutze `metric` fuer Kennzahlen mit Formel, Owner und Zielwert. |
| 63 | + |
| 64 | +## Erste nuetzliche Befehle |
| 65 | + |
| 66 | +```bash |
| 67 | +orgscript check ./examples/craft-business-lead-to-order.orgs |
| 68 | +orgscript export mermaid ./examples/craft-business-lead-to-order.orgs |
| 69 | +orgscript export markdown ./examples/lead-qualification.orgs --with-annotations |
| 70 | +orgscript export context ./examples/lead-qualification.orgs |
| 71 | +``` |
| 72 | + |
| 73 | +Was sie tun: |
| 74 | + |
| 75 | +- `check` prueft Syntax, Lint-Regeln und kanonische Formatierung |
| 76 | +- `export mermaid` erzeugt ein diagrammfreundliches Artefakt |
| 77 | +- `export markdown` erzeugt eine kurze menschenlesbare Zusammenfassung |
| 78 | +- `export context` erzeugt ein strukturiertes Paket fuer KI und Tooling |
| 79 | + |
| 80 | +## Kommentare und Annotationen |
| 81 | + |
| 82 | +OrgScript unterstuetzt zwei Dokumentationsebenen: |
| 83 | + |
| 84 | +- `# comment` |
| 85 | +- `@key "value"` |
| 86 | + |
| 87 | +Kommentare: |
| 88 | + |
| 89 | +- sind nur fuer Menschen gedacht |
| 90 | +- muessen in v1 als eigene ganze Zeile `# ...` stehen |
| 91 | +- sind nicht normativ |
| 92 | +- werden nicht in kanonischen Export, KI-Kontext oder Analyse uebernommen |
| 93 | + |
| 94 | +Annotationen: |
| 95 | + |
| 96 | +- sind parsebare Metadaten |
| 97 | +- haengen sich an den folgenden unterstuetzten Block oder die folgende Anweisung |
| 98 | +- werden in AST und kanonisches Modell uebernommen |
| 99 | +- aendern die Semantik nicht |
| 100 | + |
| 101 | +Erlaubte Annotation-Keys in v1: |
| 102 | + |
| 103 | +- `@note` |
| 104 | +- `@owner` |
| 105 | +- `@todo` |
| 106 | +- `@source` |
| 107 | +- `@status` |
| 108 | +- `@review` |
| 109 | + |
| 110 | +Beispiel: |
| 111 | + |
| 112 | +```orgs |
| 113 | +# Gemeinsamer Lead-Qualifizierungspfad fuer eingehende Leads. |
| 114 | +@owner "sales_ops" |
| 115 | +@status "active" |
| 116 | +process LeadQualification |
| 117 | +
|
| 118 | + when lead.created |
| 119 | +
|
| 120 | + @note "Referral-Leads separat auswerten." |
| 121 | + if lead.source = "referral" then |
| 122 | + assign lead.priority = "high" |
| 123 | + notify sales with "New referral lead" |
| 124 | +``` |
| 125 | + |
| 126 | +Wichtige Regel: |
| 127 | + |
| 128 | +Wenn Geschaeftslogik wichtig ist, muss sie als OrgScript-Logik formuliert werden, nicht als Kommentar. |
| 129 | + |
| 130 | +Schlecht: |
| 131 | + |
| 132 | +```orgs |
| 133 | +# Immer Anzahlung vor Bestaetigung verlangen. |
| 134 | +``` |
| 135 | + |
| 136 | +Gut: |
| 137 | + |
| 138 | +```orgs |
| 139 | +if order.deposit_received = false then |
| 140 | + require finance_clearance |
| 141 | + stop |
| 142 | +``` |
| 143 | + |
| 144 | +## Exportverhalten |
| 145 | + |
| 146 | +Standardverhalten der Exporter: |
| 147 | + |
| 148 | +- Kommentare bleiben aus allen maschinenorientierten Exporten draussen |
| 149 | +- Kommentare erscheinen standardmaessig nicht in Markdown, Mermaid oder HTML |
| 150 | +- Annotationen sind im kanonischen JSON enthalten |
| 151 | +- Annotationen sind in `export context` enthalten |
| 152 | +- Annotationen erscheinen in Markdown und HTML nur mit `--with-annotations` |
| 153 | + |
| 154 | +So bleibt Geschaeftslogik explizit und Kommentare werden keine versteckte zweite Sprache. |
| 155 | + |
| 156 | +## Schreibregeln |
| 157 | + |
| 158 | +- eine Anweisung pro Zeile |
| 159 | +- explizite Logik statt stiller Annahmen |
| 160 | +- stabile Namen verwenden |
| 161 | +- Bloecke klein halten |
| 162 | +- Freigaben, Schwellenwerte und Berechtigungen nicht in Prosa verstecken |
| 163 | +- Kommentare sparsam zur Orientierung einsetzen |
| 164 | +- Annotationen fuer strukturierte Metadaten nutzen, nicht fuer Semantik |
| 165 | + |
| 166 | +## Empfohlene Lesereihenfolge |
| 167 | + |
| 168 | +Fuer den vollstaendigen Projektkontext: |
| 169 | + |
| 170 | +1. `docs/manifesto.md` |
| 171 | +2. `docs/language-principles.md` |
| 172 | +3. `spec/language-spec.md` |
| 173 | +4. `docs/orgscript-for-humans.md` |
| 174 | +5. `docs/orgscript-for-ai.md` |
| 175 | + |
| 176 | +## Praktischer Arbeitsablauf |
| 177 | + |
| 178 | +Fuer die meisten Teams ist dieser sichere Zyklus sinnvoll: |
| 179 | + |
| 180 | +1. Logik in `.orgs` modellieren |
| 181 | +2. `orgscript check` ausfuehren |
| 182 | +3. Markdown oder Mermaid zur Review erzeugen |
| 183 | +4. Context-Export fuer KI- oder Tooling-Nutzung erzeugen |
| 184 | +5. die `.orgs`-Datei als gepflegte Quelle der Wahrheit behalten |
0 commit comments