openawf

Tools

Tools built on the spec

The spec defines the document. A tool is any program that acts on it: an editor, a validator, a registry, a runner, an exporter. Anyone can build one. A document sealed by one conformant tool verifies in every other.

awf-cli

spec 0.1.0GoMIT

A command-line tool for authoring and sharing documents. It keeps drafts and sealed versions in an .awf scope, validates and seals them, bundles $ref tasks, installs documents from git repositories, exports them, and renders a workflow as an HTML page. awf lsp brings diagnostics and a live preview to editors. The playground on the home page runs it.

$go install github.com/dwwescalelol/awf-cli/cmd/awf@latest

Build a tool

A tool needs the spec and nothing else. What it does with documents is its own design: where it stores them, how it shares them, what commands it offers.

Documents move between tools when every tool keeps these rules.

  • It validates against the validation rules, with the JSON Schema for structure.
  • It computes a sha by the sealing rule, so a sealed document verifies anywhere.
  • It never changes a sealed document. A change is a new draft at a newer version.
  • It reads $ref by path or by pinned id, and inlines every reference when it seals.

Open a pull request on the specification repository to list a tool here.

editor

Diagnostics, completion and a live render while a workflow is written.

runner

Executes the state machine on an agent harness and stamps each artifact with the sealed sha.

registry

Stores sealed versions, verifies their shas and publisher signatures, and serves them by id.