gh-wm documentation

gh-wm is a Go gh CLI extension that runs gh-aw–compatible task files (Markdown + YAML frontmatter) from .wm/tasks/ without compiling to lockfiles or AWF. When safe-outputs: is set, the agent records outputs via gh wm emit (NDJSON into output.jsonl); gh-wm validates and applies them (max:, allowlists, etc.).

This documentation is the canonical reference for how the project works and how to extend it.

Published site: https://gh-wm.github.io/gh-wm/ (same Markdown, rendered with Hugo).

Who this is for

ReaderStart here
Quick Q&AFAQ
HumansArchitectureArchitecture reviewv2 changesCLI referenceTask format
AI coding agentsRead Architecture , Architecture review , and Development before changing behavior. Use Task format when editing .wm/tasks/*.md or explaining compatibility with gh-aw .

Contents

DocPurpose
faq.mdFrequently asked questions: how gh-wm works, why safe-outputs and CI split, workflows, agents—links to deeper pages.
architecture.mdEnd-to-end flow: GitHub Actions → resolve → matrix run, Go packages, and RunTask pipeline (detailed reference) (reads/writes per phase).
architecture-review.mdDesign review, target module layout, phased refactor roadmap (v2).
v2.mdConsolidated v2 breaking / deprecation notes (engine, safe-outputs, timeout, artifacts, GitHub transport).
task-format.md.wm/config.yml, .wm/tasks/<name>.md frontmatter, on: trigger semantics, safe-outputs:.
cli-reference.mdEvery gh wm / gh-wm subcommand, flags, and environment variables.
development.mdRepo layout, extension points, build/test, and conventions for contributors.

One-sentence mental model

GitHub delivers an event → gh wm resolve lists matching task names → Actions runs gh wm run --task <name> per match; each run runs the agent (default: claude -p), then applies validated safe outputs from gh wm emit when safe-outputs: is configured.

For install and a minimal user quick start, see the repository README .

gh-wm

Workflow manager for agentic development — documentation.