The Open Ecosystem for Enterprise AI

Master your AI
at scale

AWF is a professional ecosystem designed to give engineers full control over their AI integration. From local orchestration to global production.

Chapter 01 — The Ecosystem

Three products, one ecosystem

AWF CLI orchestrates your AI workflows. ZPM gives your agents a memory they can reason over. ztick fires them at the precise moment you decide. Use one, use all three — they're designed to work together.

01 — The Orchestrator

AWF CLI

Go-powered, provider-agnostic, YAML-native. Define workflows once, run them from your terminal, wire them into CI. The foundation everyone builds on.

  • Multi-provider: OpenAI, Claude, Gemini, Ollama
  • Streaming outputs, retries, deterministic replays
  • Single static binary — zero runtime dependencies
02 — The Reasoner

ZPM — MCP

Zig + Prolog. Give your LLMs deterministic logical reasoning. 22 MCP tools for facts, rules, queries, proofs, and truth maintenance — usable as MCP server or direct CLI.

  • Prolog inference with embedded Trealla engine
  • Truth Maintenance with assumption tracking
  • Durable storage: write-ahead journal & snapshots
03 — The Trigger

ztick

Zig-powered, push-driven scheduler. Cron in reverse: your apps send SET over TCP at the moment they decide, ztick fires at the requested time — into shells, webhooks, AMQP, Redis, or AWF workflows.

  • Native TCP protocol with TLS 1.3 + REST/OpenAPI 3.1.1
  • Multi-runner dispatch incl. AWF workflows
  • Append-only log, OpenTelemetry, single binary
Chapter 02 — The Pillars

The Three Pillars of AWF

01

Open by Design

Vendor-agnostic at the orchestration layer — OpenAI, Claude, Gemini, Ollama — and protocol-open at the reasoning layer via MCP. Zero lock-in, OSS end-to-end.

02

Deterministic AI

CLI workflows replay identically on the same inputs; ZPM deductions are provable through Prolog inference chains. AI becomes as predictable as the rest of your stack.

03

Production-Grade

Go and Zig, two static binaries, zero runtime dependencies. Structured logs, audit trails, and proof explanations across both products. Built for enterprise, not demos.

Chapter 03 — Why It Matters

What you actually get

Concrete problems the ecosystem solves, in plain terms.

01

Ship in days, not months

Workflows in YAML, one static binary, zero SDK sprawl. Install, write, run — today.

02

Your AI bill stops being opaque

Every token tracked per step, per workflow, per run. Audit spend line by line — catch runaway agents before they run away.

03

Swap providers without a rewrite

OpenAI raising prices? Switch to Claude. Need privacy? Drop in Ollama. Edit one line of YAML — your workflows don't care.

04

Explain every AI decision to audit

CLI workflows replay identically. ZPM proves each conclusion through explicit inference chains. "Why did the AI say X?" finally has an answer.

05

Stop your agents from making stuff up

Give LLMs a knowledge base that reasons. Facts persist, rules apply, contradictions surface. "The AI hallucinated" becomes "the assumption was wrong".

06

Run in prod without a DevOps team

Two static binaries, zero runtime dependencies. Docker if you want, bare metal if you prefer. Any CI, any server, any laptop.

…or, let's be honest

The reasons you'll actually end up installing it tonight.

Chapter 04 — The CLI

AWF CLI

The foundation of the ecosystem. A lightweight, powerful tool to build and run AI workflows from your terminal.

01

Lightning Fast

Written in Go for blazing performance. Every millisecond counts in production.

02

Provider Agnostic

Switch between OpenAI, Anthropic, or local LLMs without changing a line of code.

03

YAML Native

Define workflows in simple, version-controllable files. Human readable, machine precise.

04

Production Ready

Built-in validation and error handling for mission-critical deployments.

Simple YAML, powerful results

code-review.yaml
# Code review workflow
name: code-review
version: "1.0.0"

inputs:
  - name: file
    type: string
    required: true

states:
  initial: read

  read:
    type: step
    command: cat "{{.inputs.file}}"
    on_success: analyze

  analyze:
    type: agent
    provider: claude
    prompt: |
      Review this code for bugs and security issues:
      {{.states.read.Output}}
    on_success: report

  report:
    type: step
    command: echo "Analysis complete"
    on_success: done

  done:
    type: terminal
    status: success

Define your entire workflow in a single YAML file. Human-readable, version-controllable, and production-ready.

Built for pros

When the demo ends and production begins

Loops

For-each & while

Iterate over arrays, file lists, or API results with full workflow context inside each iteration.

type: foreach
Conversations

Multi-turn agents

Native session resume on Claude, Codex, Gemini, OpenCode. Token tracking and context injection across turns.

type: conversation
Resume

Pick up where it crashed

Every run has an ID. Interrupt it, fix it, resume from the failed step — no need to start over.

awf resume <id>
Sub-workflows

Compose like functions

Call one workflow from another with typed input/output mapping. Build libraries of reusable pipelines.

type: call_workflow
Parallel

Fan out without fan-pain

Run multiple steps concurrently with configurable strategies — all, any, race. Collect results in one place.

type: parallel
Retry

Backoff, baked in

Exponential, linear, or constant backoff per step. Flaky APIs and rate limits stop waking you up at 3 a.m.

retry: {strategy: exponential}
Diagrams

Export the state machine

Generate Graphviz DOT for any workflow. Render it, ship it to architecture docs, impress the auditor.

awf diagram <workflow>
Audit trail

JSONL, secrets masked

Paired start/end entries per step, atomic writes, secret redaction, replayable history. Compliance happy.

awf history

See it in action

Execute your workflows with a single command. AWF provides detailed logging, step tracking, and clear completion status with workflow IDs for reproducibility.

Terminal
$ awf run code-review --input file=service.go --output=streaming --verbose=true

registered desktop notification backend
registered webhook notification backend
Running workflow: code-review
starting workflow workflow=code-review id=3eb274fa-186e-4070-a6a0-c26eea61ad28
executing step step=read
executing step step=analyze
executing agent step step=analyze provider=claude
executing step step=report
[OUT] Analysis complete
recorded execution history workflow_id=3eb274fa-186e-4070-a6a0-c26eea61ad28 status=completed
workflow completed step=done status=completed
  ✓ read: completed successfully
Workflow completed successfully in 36.6s
Workflow ID: 3eb274fa-186e-4070-a6a0-c26eea61ad28

--- Execution Details ---
Status: completed
Steps executed:
  report:    completed (1ms)
  read:      completed (1ms)
  analyze:   completed (36.585s)

AWF provides detailed execution logs, validation feedback, and clear success/failure status for every workflow run.

Get Started with AWF CLI

The core engine of the AWF ecosystem. Install it in seconds and start building.

install.sh
curl -fsSL https://raw.githubusercontent.com/awf-project/cli/main/scripts/install.sh | sh
go install
go install github.com/awf-project/cli/cmd/awf@latest
build from source
git clone https://github.com/awf-project/cli.git
cd cli
make build
make install

Seamlessly integrates with your ecosystem

The AWF CLI isn't just another walled garden. It leverages the tools and AI providers you already use and trust.

OpenAI
Claude
Gemini
OpenCode
Ollama
Bash
Git
Docker
PHP
Python
Slack
Jira

...and every other tool in your terminal

gh rtk jq grepai make curl ripgrep sed awk tree-sitter npm go cargo composer cat grep find

If it's in your PATH, it's in your workflow. The CLI orchestrates any CLI utility with zero configuration.

Chapter 05 — Extend It

Plugins & Workflow Packs

The CLI is a platform, not just a tool. Write your own step types or share a whole workflow as a reusable pack.

Plugins

Write your own step types

Plugins add new primitives to the workflow DSL — inject real-time data, call internal APIs, run custom tools. Distribute them as binaries, load them from anywhere.

Built your own? Tag your repo awf-plugin or awf-workflow on GitHub to get discovered.

Chapter 06 — The MCP

AWF MCP — ZPM

The reasoning layer of the ecosystem. A Zig-powered MCP server that gives LLMs deterministic logical reasoning through an embedded Prolog engine.

01

Prolog Inference

Trealla-powered logic engine embedded in a single static binary. Turn your knowledge base into queryable, verifiable reasoning.

02

Truth Maintenance

Assumption tracking with automatic belief propagation. Retract a premise, watch the consequences unwind.

03

22 MCP Tools

Assert facts, define rules, query goals, explain proofs, snapshot state — every tool your agent needs, exposed as MCP and CLI.

04

Durable by Design

Write-ahead journal, point-in-time snapshots, automatic recovery. Zero runtime dependencies, statically linked.

Facts in, proofs out

reasoning.sh
# Assert facts about your system
$ zpm remember-fact "service(api, healthy)"
$ zpm remember-fact "service(db, healthy)"
$ zpm remember-fact "depends_on(api, db)"

# Define a rule
$ zpm define-rule "operational(X)" "service(X, healthy)"

# Query the knowledge base
$ zpm query-logic "operational(X)" --format json

# Explain the proof chain
$ zpm explain-why "operational(api)"

# Snapshot state before a risky change
$ zpm save-snapshot "before-deploy"

Give your LLM a memory that reasons. ZPM exposes the same 22 tools over the MCP protocol and as direct CLI subcommands — use it from Claude Code, Cursor, or straight from your shell.

Get Started with ZPM

The reasoning engine of the AWF ecosystem. One binary, zero runtime dependencies.

install.sh
curl -fsSL https://raw.githubusercontent.com/awf-project/zpm/main/scripts/install.sh | sh
build from source
git clone https://github.com/awf-project/zpm.git
cd zpm
make build
settings.json
{
  "mcpServers": {
    "zpm": {
      "command": "/path/to/zpm",
      "args": ["serve"]
    }
  }
}
Chapter 07 — The Tick

AWF Scheduler — ztick

The triggering layer of the ecosystem. A Zig-powered, push-driven scheduler — cron in reverse. Apps schedule jobs at the moment they decide, ztick fires at the requested time.

01

Push-Driven

Your app sends SET over TCP at the moment it decides. ztick fires at the requested time. No polling, no fixed intervals, no drift.

02

Multi-Runner Dispatch

Shell, direct execve, HTTP webhook, AWF workflow, AMQP publisher, Redis command. One scheduler, every backend you already run.

03

TCP + REST + TLS

Native TCP protocol with TLS 1.3, plus REST/JSON HTTP API with embedded OpenAPI 3.1.1. Token AUTH, namespace-scoped authorization.

04

Durable & Observable

Append-only logfile with binary framing and background compression. OpenTelemetry traces and metrics over OTLP/HTTP. Zero runtime dependencies.

Schedule, dispatch, observe

protocol.sh
# Authenticate with a namespace-scoped token
$ echo "AUTH ops:s3cr3t" | nc 127.0.0.1 5678

# Define a rule: trigger an AWF workflow when the job fires
$ echo "RULE SET deploy.daily awf run release-pipeline" | nc 127.0.0.1 5678

# Schedule a one-shot job at a precise nanosecond timestamp
$ echo "SET deploy.daily $(date +%s%N -d 'tomorrow 03:00')" | nc 127.0.0.1 5678

# Inspect, list, remove
$ echo "QUERY deploy.daily"   | nc 127.0.0.1 5678
$ echo "LISTRULES"             | nc 127.0.0.1 5678
$ echo "REMOVE deploy.daily"  | nc 127.0.0.1 5678

A tight TCP protocol or a REST endpoint — pick your interface. ztick chains directly into AWF workflows, so you can trigger orchestrations on demand: no cron, no drift, no surprises.

Get Started with ztick

The triggering engine of the AWF ecosystem. One Zig binary, zero runtime dependencies.

install.sh
curl -fsSL https://raw.githubusercontent.com/awf-project/ztick/main/scripts/install.sh | sh
build from source
git clone https://github.com/awf-project/ztick.git
cd ztick
make release
make install
run
ztick                                # listens on 127.0.0.1:5678
ztick -c /etc/ztick/ztick.toml       # run with a TOML config
ztick dump ztick.log --follow        # tail the persistence logfile
Chapter 08 — The Rest

The rest of the toolkit

A small family of projects around the CLI, ZPM, and ztick — drop AWF into your agent, your CI, or your dev container.

Explore every repo on github.com/awf-project.

Ready to explore?

Dive into the source code and start building production-ready AI workflows with AWF.

Explore on GitHub