Your complete toolkit for German electricity market communication via the Conuti MaCo API
This workspace enables Lieferanten (electricity suppliers) to integrate with Germany's electricity market through the Conuti MaCo API. It provides:
- π Complete documentation for all MaKo (Marktkommunikation) processes
- π€ AI-powered assistance with pre-configured Cursor IDE rules
- π Real message examples for testing and validation
- π§ Schemas and business rules for building compliant messages
Your Backend βββΆ Conuti MaCo API βββΆ Network Operators (NB) / Meter Operators (MSB)
βββ webhooks βββββββββββββββββββββββββββββββββ responses βββ
- Quick Start
- Who Should Use This
- AI-Powered Development
- Two Entry Points
- Architecture
- Documentation
- File Reference
- Common Tasks
- Troubleshooting
- Contributing
- License
git clone <repository-url> && cd maco_agent_workspace && ./scripts/setup-workspace.sh# 1. Clone the repository
git clone <repository-url>
cd maco_agent_workspace
# 2. Run setup (initializes submodules, downloads docs, builds schemas)
./scripts/setup-workspace.sh
# 3. Open in Cursor IDE - AI rules load automatically!
cursor .# Check key files exist
ls docs/entry-points/BUSINESS_PROCESS_MAP.md # Business discovery guide
ls maco-api-documentation/_build/*.min.json # API schemas
ls maco-edi-testfiles/outbound/v202510/ # Example messagesThat's it! Open Cursor and ask: "What processes do I need to register a new customer?"
| You are... | Start with... |
|---|---|
| Backend developer implementing MaKo integration | AI_AGENT_SETUP.md |
| Product owner understanding market processes | BUSINESS_PROCESS_MAP.md |
| Technical architect designing API integrations | Architecture section |
| QA engineer validating message formats | maco-edi-testfiles/ |
- Cursor IDE 0.45+ (for AI agent support)
- Git (to clone and sync)
- Python 3 (optional, for sync scripts)
This workspace includes pre-configured AI rules that make Cursor your MaKo expert.
| Feature | Description |
|---|---|
| π Auto-visualizations | Creates Mermaid sequence diagrams and flowcharts |
| β Schema validation | Checks messages against official schemas |
| π Source verification | Always reads docs before answeringβno hallucination |
| π Cross-referencing | Links business rules, schemas, and examples |
Open Cursor chat (Cmd+L / Ctrl+L) and ask:
"I want to register a new customer, what processes do I need?"
The AI will:
- Reference
BUSINESS_PROCESS_MAP.mdfor the workflow - Create sequence diagrams showing the message flow
- List required fields from schemas
- Point to example messages in
maco-edi-testfiles/
.cursor/rules/
βββ global-rules/ # Always-applied core context
βββ domain-rules/ # Business discovery & technical workflows
βββ validation-rules/ # Message validation & building
βββ visualization-rules/ # Mermaid diagram requirements
π See
.cursor/README.mdfor detailed rule documentation.
Choose your path based on what you have:
When: You have a business goal like "register customer" or "cancel contract"
π docs/entry-points/BUSINESS_PROCESS_MAP.md
Example Scenarios:
- New customer signs up for electricity
- Customer moves to a new address
- Customer terminates contract
- Supplier switch
When: You have a BDEW process ID like 55077 or a trigger like START_LIEFERBEGINN
π docs/entry-points/AI_AGENT_SETUP.md
Implementation Steps:
- Find your process in
PROCESS_GRAPH.json - Check schema:
PI_{ID}.yml - Check rules:
yaml_output/{ID}.yaml - Reference example:
maco-edi-testfiles/outbound/v202510/
sequenceDiagram
participant LF as Your Backend<br/>(Lieferant)
participant API as Conuti<br/>MaCo API
participant NB as Network<br/>Operator
participant MSB as Meter<br/>Operator
Note over LF,MSB: Outbound Flow (Your Backend β Market)
LF->>API: Trigger (BO4E JSON)
API->>NB: EDIFACT Message
API->>MSB: EDIFACT Message
Note over LF,MSB: Inbound Flow (Market β Your Backend)
NB-->>API: Response
MSB-->>API: Response
API-->>LF: Webhook (BO4E JSON)
| Concept | Description |
|---|---|
| Role | You are a Lieferant (LF) β electricity supplier |
| Outbound | Your backend β Conuti API (BO4E JSON format) |
| Inbound | Conuti β Your webhooks (BO4E JSON, converted from EDIFACT) |
| Process IDs | 5-digit BDEW PrΓΌfidentifikatoren (e.g., 55077) |
| Async | All processes are asynchronous; responses come via webhooks |
| Direction | Format | Example Path |
|---|---|---|
| Outbound | BO4E JSON | maco-edi-testfiles/outbound/v202510/*.json |
| Inbound | EDIFACT | maco-edi-testfiles/inbound/v202510/*.edi |
β οΈ Always usev202510β thev202404directory is outdated.
| Type | Purpose | Location |
|---|---|---|
| Markdown | Business context (WHY) | docs-offline/*.md |
| PNG diagrams | Technical flow (HOW) | docs-offline/prozessdiagramme-png/ |
| EBD files | Validation logic (WHAT to validate) | ebd-diagrams/FV{YYMM}/ |
| YAML schemas | Required fields | maco-api-documentation/...yaml_output/ |
| Test files | Real message examples | maco-edi-testfiles/v202510/ |
- Start with the index:
docs/llm.txt(237 entries) - Use process lookup:
docs/entry-points/PROCESS_GRAPH.json - Read source docs:
docs-offline/{process-name}.md
| File | Purpose |
|---|---|
BUSINESS_PROCESS_MAP.md |
Business goal β Process mapping |
AI_AGENT_SETUP.md |
Technical implementation guide |
PROCESS_GRAPH.json |
Process dependency graph |
llm.txt |
Documentation index (237 entries) |
maco_agent_workspace/
β
βββ π README.md # You are here
β
βββ π docs/
β βββ entry-points/ # β Start here
β β βββ BUSINESS_PROCESS_MAP.md # Business discovery
β β βββ AI_AGENT_SETUP.md # Technical implementation
β β βββ PROCESS_GRAPH.json # Process dependencies
β βββ llm.txt # Documentation index
β
βββ π .cursor/rules/ # AI agent rules
β
βββ π docs-offline/ # 232 offline documentation files
β βββ prozessdiagramme-png/ # 54 process diagrams
β
βββ π maco-api-documentation/ # API schemas & rules
β βββ _build/*.min.json # Compiled schemas
β βββ yaml_output/ # Business rules (136 files)
β
βββ π maco-edi-testfiles/ # 2,549+ test files
β βββ outbound/v202510/ # JSON examples (send)
β βββ inbound/v202510/ # EDI examples (receive)
β
βββ π ebd-diagrams/ # EBD validation trees
β βββ FV{YYMM}/ # By format version
β
βββ π scripts/ # Setup & sync scripts
β βββ setup-workspace.sh # Initial setup
β βββ update-workspace.sh # Update documentation
β
βββ π message-downloader/ # Conuti message pipeline
βββ bin/ # Scripts (download, convert, split, clean)
βββ config/ # API tokens & config (gitignored)
βββ data/ # Downloaded MaLo data (gitignored)
βββ docs/ # Pipeline findings & plans
βββ tests/ # Splitter tests & fixtures
| Task | Solution |
|---|---|
| Register a new customer | BUSINESS_PROCESS_MAP.md β Scenario 1 |
| Find required fields for process 55078 | yaml_output/55078.yaml + PI_55078.yml |
| Implement KΓΌndigung workflow | BUSINESS_PROCESS_MAP.md β KΓΌndigung scenario |
| Validate a message before sending | Check against PI_{ID}.yml schema |
| Handle an incoming webhook | Find process in AI_AGENT_SETUP.md β implement handler |
| Update to latest documentation | Run ./scripts/update-workspace.sh |
| Convert EDIFACT to BO4E | Run python message-downloader/bin/convert.py --file message.edi --token YOUR_TOKEN |
AI Agent Rules Not Loading
- Ensure Cursor version is 0.45+
- Restart Cursor after cloning
- Verify
.cursor/rules/directory exists - See
.cursor/SETUP.mdfor details
Documentation Not Found
- Run
./scripts/setup-workspace.shto initialize everything - Check that
docs-offline/exists - Run
./scripts/download-docs.shif docs are missing
Submodules Empty After Clone
# Initialize all submodules
./scripts/setup-workspace.sh
# Or manually:
git submodule update --init --recursiveScripts Not Executable
chmod +x scripts/*.sh scripts/sync/*.shExample Files Not Found
Always use v202510 directory (not v202404):
- Outbound:
maco-edi-testfiles/outbound/v202510/(JSON) - Inbound:
maco-edi-testfiles/inbound/v202510/(EDI)
# Update all documentation and schemas
./scripts/update-workspace.shThis syncs changes from external repositories (maco-api-documentation, maco-edi-testfiles) and rebuilds schemas.
π See
scripts/sync/README.mdfor detailed sync workflow.
Contributions are welcome! Here's how you can help:
- Report issues: Found a bug or missing documentation? Open an issue
- Improve documentation: PRs for clearer explanations are appreciated
- Add examples: More test files help everyone
- Enhance AI rules: Improvements to
.cursor/rules/benefit all users
# Clone with full history
git clone <repository-url>
cd maco_agent_workspace
./scripts/setup-workspace.sh
# Make changes and test with Cursor
cursor .This workspace aggregates documentation and schemas from official German energy market sources. See individual file headers for specific licensing information.
- Documentation issues: Check
docs/llm.txtfor the right file - Schema questions: Reference
maco-api-documentation/_build/ - AI agent issues: See
.cursor/README.md
Built for German electricity market integration with β€οΈ