Skip to content

Commit aaf780c

Browse files
moellenbeckclaude
andcommitted
Add CLAUDE.md and Changelogs
- CLAUDE.md mit Projektübersicht, Architektur, Befehlen und Arbeitsregeln - Changelog.md (Anwender) und Changelog-Dev.md (Entwickler) aus Git-Historie erstellt Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 79f7f01 commit aaf780c

File tree

3 files changed

+276
-0
lines changed

3 files changed

+276
-0
lines changed

CLAUDE.md

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# CLAUDE.md
2+
3+
Diese Datei bietet Claude Code (claude.ai/code) Orientierung bei der Arbeit mit dem Code in diesem Repository.
4+
5+
## Projektübersicht
6+
7+
ProcessCube.AppTemplate ist ein Template zur Entwicklung eigener Node-RED-Nodes, Plugins und Dashboard-2-Widgets, die in die ProcessCube-Plattform integriert werden. Das Projekt ist in JavaScript geschrieben (TypeScript-Version geplant) und verwendet Vue.js für Dashboard-Widgets.
8+
9+
## Architektur
10+
11+
Vier Docker-Services bilden die Plattform:
12+
13+
- **engine** (Port 8000) — ProcessCube BPMN-Workflow-Engine mit PostgreSQL-Backend
14+
- **authority** (Port 11560) — OAuth2/OIDC-Identity-Provider
15+
- **postgres** (Port 5432, dynamisches externes Mapping) — PostgreSQL 17, gemeinsam genutzt von Engine und Authority
16+
- **lowcode** (Port 1880, Debug-Port 9229) — Node-RED mit Custom-Nodes/-Widgets, gebaut aus `apps/lowcode/Dockerfile`
17+
18+
Der Lowcode-Service hängt von Engine ab (Healthcheck), die wiederum von Postgres abhängt (Healthcheck). Authority läuft unabhängig.
19+
20+
## Wichtige Verzeichnisse
21+
22+
- `apps/lowcode/src/` — Alle Custom-Node-RED-Nodes, Plugins und Vue.js-Widgets
23+
- `apps/lowcode/src/nodes/` — Node-RED-Node-Implementierungen (JS- + HTML-Paare)
24+
- `apps/lowcode/src/ui/` — Vue.js-Komponenten und Vite-Export-Einträge für Dashboard-2-Widgets
25+
- `.processcube/engine/config/` — Engine-Konfiguration (config.json)
26+
- `.processcube/authority/config/` — Authority-Konfiguration und User-Seeding-Daten
27+
- `processes/` — BPMN-Prozessdefinitionen (werden beim Start in die Engine geladen)
28+
29+
## Befehle
30+
31+
### Alle Services starten
32+
```
33+
docker compose up
34+
```
35+
36+
### Lowcode-Docker-Image bauen
37+
```
38+
docker compose build
39+
```
40+
41+
### Vue.js Dashboard-2-Widgets bauen (innerhalb von `apps/lowcode/src/`)
42+
```
43+
npm install
44+
npm run build # baut alle Widgets
45+
npm run build:hello # baut nur das ui-hello-Widget
46+
npm run build:thermo # baut nur das ui-thermo-Widget
47+
```
48+
49+
### Debugging (VSCode)
50+
1. `docker compose up`
51+
2. VSCode: Ausführen und Debuggen → "Attach to Node-RED" (Port 9229)
52+
3. Breakpoints in `apps/lowcode/src/` setzen
53+
54+
Für Break-on-Start-Debugging die `--inspect-brk`-Zeile in `docker-compose.yml` (Zeile ~78) einkommentieren.
55+
56+
## Konventionen
57+
58+
- **Dashboard-2-Widget-Pakete müssen** `node-red-dashboard-2-*` heißen und im `nodesDir` der Node-RED-Installation liegen, damit sie korrekt geladen werden.
59+
- **Widget-Architektur**: Backend-Node.js-Modul registriert sich bei der Dashboard-2-Gruppe; Frontend-Vue.js-SFC-Komponente kommuniziert über Socket.io-Events (`widget-action`, `widget-change`).
60+
- **Jedes Widget benötigt**: einen Vite-Build-Eintrag in `ui/exports/`, eine Vue-Komponente in `ui/components/`, ein Node.js-Backend in `nodes/` und eine Registrierung in `package.json` unter `node-red.nodes` und `node-red-dashboard-2.widgets`.
61+
- **External-Task-Pattern**: Custom-Nodes integrieren sich über External Tasks mit der ProcessCube Engine (siehe `nodes/sample_node/hello.js` und `processes/Sample_With_Custome_Node.bpmn`).
62+
- **Flow-Speicherformat ist YAML** (`NODERED_FLOW_STORAGE_OUTPUT_FORMAT=yaml`).
63+
64+
## CI/CD
65+
66+
GitHub-Actions-Workflow (`.github/workflows/build.yml`) wird bei Push auf `main` ausgelöst:
67+
1. Extrahiert die Version aus der Root-`package.json` mittels `@5minds/product_ci_tools`
68+
2. Baut ein Docker-Image (linux/amd64) und pusht es nach `ghcr.io/5minds/lowcode_apptemplate`
69+
70+
## Version
71+
72+
Die Root-`package.json` enthält die Projektversion (aktuell 0.9.4). Auf Root-Ebene sind keine npm-Scripts definiert — Build-Scripts befinden sich in `apps/lowcode/src/package.json`.
73+
74+
## Claude Regeln
75+
76+
### Arbeitsablauf
77+
78+
1. **Analyse & Planung**
79+
- Durchdenke das Problem gründlich
80+
- Lies die relevanten Dateien der Codebasis
81+
- Erstelle einen Plan in `todos/<thema>/todo.md`
82+
- todos sollen auch immer commited werden
83+
84+
2. **Aufgabenliste**
85+
- Der Plan enthält eine Liste von Todo-Punkten
86+
- Hake sie beim Abarbeiten ab
87+
88+
3. **Abstimmung**
89+
- Bevor du beginnst, stimme dich mit mir ab
90+
- Ich prüfe den Plan
91+
92+
4. **Umsetzung**
93+
- Arbeite die Todo-Punkte ab
94+
- Markiere erledigte Aufgaben
95+
96+
5. **Kommunikation**
97+
- Gib bei jedem Schritt eine kurze Zusammenfassung der Änderungen
98+
99+
6. **Einfachheit**
100+
- Halte jede Aufgabe und Codeänderung so einfach wie möglich
101+
- Vermeide umfangreiche oder komplexe Änderungen
102+
- Jede Änderung soll so wenig Code wie möglich betreffen
103+
- Einfachheit ist das oberste Prinzip
104+
105+
7. **Review**
106+
- Füge am Ende einen Review-Abschnitt in `todos/<thema>/todo.md` hinzu
107+
- Fasse die Änderungen und relevante Informationen zusammen
108+
109+
### Grundsätze
110+
111+
- **Keine Faulheit.** Du bist ein Senior Developer. Finde bei Bugs die Ursache und behebe sie richtig. Keine temporären Fixes.
112+
113+
- **Maximale Einfachheit.** Alle Änderungen betreffen nur den notwendigen Code. Das Ziel ist, keine neuen Bugs einzuführen. Einfachheit über alles.
114+
115+
- **Dateiberechtigungen.** Neue Dateien müssen für Gruppe und andere lesbar sein. Nach dem Erstellen von Dateien: `chmod go+r <datei>`. Bei Verzeichnissen zusätzlich: `chmod go+x <verzeichnis>`.
116+
117+
- **Kein automatisches Commit/Push.** Niemals selbstständig committen oder pushen. Nur auf explizite Anweisung des Benutzers.

Changelog-Dev.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Changelog (Entwickler)
2+
3+
---
4+
5+
## 🔮 In Entwicklung
6+
7+
*Commits seit v0.9.4*
8+
9+
### Neue Funktionen
10+
- `79f7f01` Migrate json -> yaml
11+
- `7de95de` Add parameter for dialog controlling
12+
- `a76fb64` add new ProcessCube.LowCode
13+
14+
---
15+
16+
## ✅ v0.9.4 (31.08.2025)
17+
18+
### Technische Änderungen
19+
- `b709c54` Inc Version
20+
21+
---
22+
23+
## ✅ v0.9.2 (26.08.2025)
24+
25+
### Technische Änderungen
26+
- `d72738c` Add postgres-Dir to git-repo
27+
- `6c49a1c` Add postgres-Dir to git-repo
28+
29+
---
30+
31+
## ✅ v0.9.1 (26.08.2025)
32+
33+
### Technische Änderungen
34+
- `6b339f9` Update readme, inc version to 0.9.1
35+
36+
---
37+
38+
## ✅ v0.9.0 (26.08.2025)
39+
40+
*Erste vollständige Version mit CI/CD und UI-Widgets.*
41+
42+
### Neue Funktionen
43+
- `c7b750b` Add new ui-widgets with samples and more debugging options
44+
- `48df6fa` Add sample with custom node and external task
45+
- `186d4bd` dynamic Postgres-Port; First version of build.yml to publish a docker-image to ghcr
46+
- `310b9d4` Add hints for debugging
47+
48+
### Technische Änderungen
49+
- `858a94f` Update lowcode to 7.1.0
50+
- `1f16bfd` bump authority
51+
- `e8c5618` fix typos and remove postgres build
52+
- `18faf28` NODE_ENV=development
53+
- `4d37a9b` Add package.json for version numbers
54+
- `58ce58e` Add hint to naming in dashboard-2 docu
55+
- `d58fd55` Readme erweitert; Kategrie für den Node geändert
56+
- `c8db21f` Add Info zu ETW in Engine und LowCode
57+
- `4b0fbe5` Add Info zu ETW in Engine und LowCode
58+
- `d33152f` Add help for hello-node
59+
- `3a89274` Remove comment
60+
- `4f8a9a7` Remove comments
61+
62+
### Dokumentation
63+
- `9503172` Add new image of nodes-samples
64+
- `d5d0aa8` Add image for hello-node
65+
- `d7bafdd` Fix README
66+
- `45af951` Fix README
67+
- `3a82762` Add todos in README.md
68+
- `b1e990b` Add some todos
69+
70+
---
71+
72+
## ✅ v0.1.0 (07.07.2025)
73+
74+
*Initiale Version.*
75+
76+
### Neue Funktionen
77+
- `d0f6c21` Add a sample AppTemplate for LowCode with custom plugin and custom node

Changelog.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Changelog ProcessCube.AppTemplate
2+
3+
---
4+
5+
## 🔮 In Entwicklung (Ausblick auf nächstes Release)
6+
7+
*Diese Features sind nach v0.9.4 hinzugekommen und werden im nächsten Release enthalten sein.*
8+
9+
### Neue Funktionen
10+
- Flow-Speicherformat von JSON auf YAML umgestellt
11+
- Parameter zur Dialog-Steuerung hinzugefügt
12+
- Neues ProcessCube.LowCode-Image integriert
13+
14+
---
15+
16+
## ✅ v0.9.4 (31.08.2025)
17+
18+
*Versions-Aktualisierung.*
19+
20+
- Keine funktionalen Änderungen
21+
22+
---
23+
24+
## ✅ v0.9.2 (26.08.2025)
25+
26+
### Technische Änderungen
27+
- PostgreSQL-Datenverzeichnis ins Git-Repository aufgenommen
28+
29+
---
30+
31+
## ✅ v0.9.1 (26.08.2025)
32+
33+
### Technische Änderungen
34+
- README aktualisiert
35+
36+
---
37+
38+
## ✅ v0.9.0 (26.08.2025)
39+
40+
*Erste vollständige Version mit CI/CD-Pipeline und UI-Widgets.*
41+
42+
### Neue Funktionen
43+
- Dashboard-2 UI-Widgets (ui-hello, ui-thermo) mit Vue.js-Komponenten
44+
- Beispiel-Node mit External-Task-Integration zur ProcessCube Engine
45+
- Custom-Plugin für Node-RED (sample_plugin)
46+
- VSCode-Debugging-Unterstützung für Node-RED im Docker-Container
47+
- GitHub-Actions-Workflow zum Bauen und Veröffentlichen des Docker-Images auf GHCR
48+
49+
### Technische Änderungen
50+
- Dynamisches Port-Mapping für PostgreSQL
51+
- LowCode-Image auf Version 7.1.0 aktualisiert
52+
- Authority-Image aktualisiert
53+
54+
---
55+
56+
## ✅ v0.1.0 (07.07.2025)
57+
58+
*Initiale Version des AppTemplates.*
59+
60+
### Neue Funktionen
61+
- ProcessCube LowCode AppTemplate mit Custom-Plugin und Custom-Node
62+
- Docker-Compose-Setup mit Engine, Authority, PostgreSQL und LowCode
63+
- Debugging-Konfiguration für VSCode
64+
65+
---
66+
67+
## Release-Prozess
68+
69+
Features durchlaufen drei Phasen, bevor sie alle Nutzer erreichen:
70+
71+
```
72+
🔮 In Entwicklung → 🧪 Insiders → ✅ Stable
73+
(Ausblick) (Early Adopter) (Alle Nutzer)
74+
```
75+
76+
| Phase | Zielgruppe | Beschreibung |
77+
|-------|------------|--------------|
78+
| 🔮 **In Entwicklung** | Entwickler | Ausblick auf kommende Features. Noch in keinem Release enthalten. |
79+
| 🧪 **Insiders** | Early Adopter | Vorschau-Versionen zum Testen neuer Features vor dem Stable-Release. |
80+
|**Stable** | Alle Nutzer | Produktionsreife Version. Features sind vollständig getestet und freigegeben. |
81+
82+
**Hinweis:** Jeder Abschnitt listet nur die Änderungen, die **neu** in dieser Phase sind.

0 commit comments

Comments
 (0)