Machine-readable MaKo (GPKE, WiM, GeLi Gas, MaBiS) process definitions with tooling for energy market messaging.
npm install mako-process-definitions> Maschinenlesbare Prozessdefinitionen für GPKE, WiM und GeLi Gas – gebaut für gestresste Entwickler:innen bei Energieversorgern.
- Konzentriertes Expertenwissen: Wir extrahieren die BDEW/AHB-Regeln in strukturierte YAML-Dateien.
- Sofort nutzbar: Loader, Validierung und Integrations-Plugins liefern Mehrwert ohne Regelwerks-Studium.
- Aktuell bleiben: Der Willi-Mako-Sync synchronisiert Definitionen mit der MCP-Wissensbasis.
Maintainer: STROMDAO GmbH –
---
``bash`
npm install mako-process-definitions
Voraussetzung: Node.js 18.18 oder höher.
---
`javascript
const { ProcessDefinitionLoader } = require('mako-process-definitions');
async function main() {
const loader = new ProcessDefinitionLoader();
const registry = await loader.loadAll();
const process = registry.findByPruefidentifikator('44001');
console.log(process.name);
}
main();
`
---
- GPKE regelt die Marktkommunikation beim Lieferantenwechsel und Stammdatenänderungen (elektrische Energie).
- WiM kümmert sich um Messwesen-Prozesse rund um Stromzähler und Messstellenbetreiber.
- GeLi Gas deckt Lieferantenwechselprozesse im Gasmarkt ab.
- Prüfidentifikatoren (z. B. 44001) benennen konkrete Nachrichtenszenarien.
Unsere Definitionen beschreiben pro Prozess:
- Trigger-Nachricht (UTILMD, MSCONS, ...)pending
- Erwartete Antworten inkl. Fristen
- Prozesszustände (z. B. , confirmed)
- Validierungsregeln (z. B. Marktlokations-ID muss 11-stellig sein)
---
| Pfad | Inhalt |
| ---- | ------ |
| definitions/ | YAML-Dateien je Prozess (GPKE/WiM/GeLi Gas/MaBiS) |src/core/
| | Loader, Validator, Registry |src/integrations/
| | Plugins für edifact-json-transformer, mako-message-router, Willi-Mako-Sync |scripts/
| | CLI-Tools (generate-from-willi, validate-all, sanitize-existing-definitions) |docs/
| | Hintergrundinfos für Entwickler:innen |examples/
| | Einstiegsskripte zur Integration |
---
- npm run lint – ESLint-Checksnpm test
- – Jest-Tests, inkl. Integrationspfadenpm run definitions:validate
- – Schema-Validierung der YAML-Dateiennpm run definitions:generate
- – Sync mit Willi Mako (erfordert Token)npm run definitions:sanitize
- – Normalisiert bestehende YAML-Dateien mit der aktuellen Sanitizer-Logiknpm run definitions:link-ebd
- – Übernimmt Entscheidungsbaum-Mappings aus docs/decision-trees/*
- GitHub Actions: Continuous Integration + wöchentliche Synchronisation
---
Der Generator liefert hochwertige Defaults, aber einige Prüfi-Varianten benötigen weiterhin Fachwissen (z. B. definitions/gpke/44001-44001.yaml). Markiere solche Dateien in Reviews, dokumentiere Quellen im PR und prüfe sie im Release-Prozess erneut.
---
`javascript
const { EdifactTransformer } = require('edifact-json-transformer');
const { TransformerProcessPlugin } = require('mako-process-definitions/integrations/transformer');
const plugin = new TransformerProcessPlugin();
await plugin.initialize();
const transformer = new EdifactTransformer({ plugins: [plugin] });
const message = transformer.transform(edifactInput);
console.log(message.process.expected_responses);
`
`javascript
const { ProcessAwareRouter } = require('mako-process-definitions/integrations/router');
const router = new ProcessAwareRouter();
await router.initialize();
const routing = await router.route(message);
console.log(routing.queue); // z. B. gpke.outbound.44001
`
---
1. .env.example kopieren → .envwilli-mako auth login -e
2. Willi-Mako-Token erzeugen: WILLI_MAKO_TOKEN
3. setzen
Weitere Details: docs/configuration.md
---
- Energy Market Basics
- Process Definition Guide
- Integration Guide
- Architecture
- API Reference
- Release Playbook
- Changelog
---
Pull Requests und Issues sind willkommen. Bitte beachte:
- Schema-Checks (npm run definitions:validate) vor jedem Commit
- Naming:
- Konventionelle Commits bevorzugt
Contributor Covenant Code of Conduct: CODE_OF_CONDUCT.md
---
- Maintainer: STROMDAO GmbH –
- Issues: GitHub Tracker
---
MIT © STROMDAO GmbH