zigflow

command module
v0.6.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

README

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

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

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL