Extension · moselwal/ai-workflows

ai-workflows — AI pipelines as YAML, not as custom code.

Multi-step AI operations as declarative YAML pipelines: steps, conditions, blocking/resume, expression resolution and pluggable notifiers. The engine for everything that doesn't fit into a single prompt — and shouldn't disappear into custom PHP code.

Das Problem

Otherwise multi-step AI logic ends up scattered across the code.

With ai-workflows

  • Workflow as a YAML file — versionable, reviewable, copyable
  • Blocking steps for human-in-the-loop, cleanly resumable
  • Expression resolution for inputs/outputs between steps
  • Custom step types registerable (extensible step architecture)
  • Pluggable notifiers (Slack/email/webhooks)
  • DDD architecture with deptrac enforcement

Until now

  • AI multi-step logic spread across several custom classes
  • Pauses/reviews as a hand-hacked status field
  • No reuse between use cases
  • No central tracing, no pipeline view

Four building blocks

Pluggable notifiers

Custom notification providers (Slack, Teams, email, webhook) registerable via interface — a central notify layer for all workflows.

Expression resolution

Outputs of one step are available to subsequent steps via expression syntax. Branches and conditions without PHP code.

Blocking/resume

Workflows can pause — e.g. for human approval — and be cleanly resumed without losing state.

YAML workflows

Workflows as declarative YAML files. Every step has a type, input/output definition, and optional conditions.

Installation: composer require moselwal/ai-workflows

TYPO3: 14.0+ · PHP: 8.2+ · Required: symfony/yaml · Optional: moselwal/content-intelligence, moselwal/semantic-delivery

Add the Composer repository at gitlab.moselwal.io, then run composer require moselwal/ai-workflows.

Architecture

Classes/
├── Domain/          # Value objects, enums, contracts (interfaces)
├── Application/     # Orchestration services
├── Infrastructure/  # Steps, adapters, persistence
└── Presentation/    # Controllers, event listeners

 

Layer dependencies are enforced via deptrac — Domain has zero external dependencies, Application depends only on Domain, Infrastructure and Presentation may use framework classes.

Extension points

  1. Define an interface in Domain/Contract/
  2. Add an implementation in Infrastructure/
  3. Auto-discovery via _instanceof tags in Services.yaml

Configuration and dependencies

Workflows are defined as YAML files and registered through TYPO3's configuration system. Each workflow consists of ordered steps with optional conditions and expressions.

Dependencies

PackageTypePurpose
symfony/yamlRequiredYAML workflow parsing
moselwal/content-intelligenceOptionalContent quality analysis integration
moselwal/semantic-deliveryOptionalMulti-channel delivery integration
moselwal/devDevShared QA tooling

Source code & docs

TYPO3 Extension Repository

Not in the official TER — install via Composer only.

Composer package

moselwal/ai-workflows via the Moselwal Composer repo.

Open the Composer repo

GitLab (source of truth)

Primary repository including CI/CD and Composer package registry.

gitlab.moselwal.io

GitHub

GitHub mirror (placeholder — verify before publish).

github.com/moselwal/ai-workflows
Nächster Schritt

Set up your first workflow together?

ai-workflows is open source. If you want to set up your first production workflow with us — including step types, notifier integration and an eval setup — get in touch.

Workflow-Begleitung anfragen

Oder direkt schreiben: kontakt@moselwal.de