Skip to content

mrsimonemms/zigflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zigflow: A Temporal DSL for Declarative Workflows

Zigflow

Contributions Welcome Licence GitHub Release Go Report Card

Zigflow is a Temporal DSL — a domain-specific language for defining and running Temporal workflows declaratively.

Zigflow provides a simple and declarative way to define and manage Temporal workflows using a Temporal DSL built upon the CNCF Serverless Workflow specification.


🧠 What is a Temporal DSL?

A Temporal DSL is a domain-specific language that allows workflows to be defined declaratively, rather than imperatively in application code.

Zigflow’s Temporal DSL compiles declarative workflow definitions into fully featured Temporal workflows, giving you the reliability, retries, and state management of Temporal without requiring SDK boilerplate.


🛟 Help


✨ Features

  • Temporal DSL – declarative workflow definitions that compile to Temporal workflows
  • CNCF Standard – fully aligned with Serverless Workflow v1.0+
  • Low-code & Visual-ready – ideal for UI workflow builders and orchestration tools
  • Powered by Temporal – battle-tested reliability, retries, and state management
  • Kubernetes-native – includes a Helm chart for easy deployment
  • Open & Extensible – customize, extend, and contribute easily

⚡️ ZigFlow?

Ziggy is a tardigrade and Temporal's official mascot. They're a microscopic animal that is basically indestructible.

Sound familiar?


🧩 Example

Tip

There is a runnable version of this in examples/hello-world

Below is an example workflow written using the Zigflow Temporal DSL:

document:
  dsl: 1.0.0
  namespace: zigflow # Mapped to the task queue
  name: hello-world # Workflow type
  version: 1.0.0
do:
  - set:
      output:
        as:
          data: ${ . }
      set:
        message: Hello from Ziggy

Run it through Zigflow:

zigflow -f ./path/to/workflow.yaml

This builds your Temporal workflow and runs the workers — no additional Go boilerplate required.

You can now run it with any Temporal SDK, in the Temporal UI or from the Temporal CLI.


📈 Telemetry

Telemetry helps us understand if people are actually using Zigflow. Stars are great, but a tiny bit of usage data gives us a clearer picture of what’s happening out there.

Zigflow creates a UUID (stored in ~/.config/zigflow) and sends just two things:

  • that anonymous ID
  • the Zigflow version you’re running

That's it.

Telemetry is optional and easy to turn off. You can disable it by setting the environment variable:

DISABLE_TELEMETRY=true

or by running Zigflow with:

--disable-telemetry

🧭 Related Projects

Zigflow is an open-source Temporal DSL designed to make workflow authoring simpler, more visual, and easier to share.


🤝 Contributing

Contributions are welcome!

Open in a container

Commit style

All commits must be done in the Conventional Commit format.

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

⭐️ Contributors

Contributors

Made with contrib.rocks.

Star History Chart


🪪 License

Distributed under the Apache-2.0 license

© 2025 - 2026 Zigflow authors

About

A Temporal DSL for turning declarative YAML into production-ready workflows

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •  

Languages