herald — local-first product launch pipeline, on a memory card
v0.3.0 · closed beta

A multi-agent product launch pipeline,
in your terminal.

A drop-in MCP server that runs PM → Research → Brand → UX → GTM with mandatory human checkpoints. One Go binary. Survives crashes. Works in Claude Code, Cursor, VS Code, Copilot CLI.

LOCAL  ·  NO CLOUD  ·  NO TELEMETRY
single binary · ~12 MB 5 platforms stdio + http your anthropic key, your machine

One brief in, a launch plan out — with humans in the loop.

product_brief.md
        
        
   pm_plan     ─────────► output/pm_brief_for_agent1.md
        
        
 run_research  ─────► output/01_research.md         # web search
        
          H1: human approves or iterates
  run_brand    ────────► output/02_brand_messaging.md
        
          H2
   run_ux      ───────► output/03_ux.md
        
          H3
   run_gtm     ──────► output/04_go_to_market.md     # 4a + 4b parallel
        
          H4
 assemble_plan ───► output/final_product_plan.md

Multi-agent workflows, without the framework tax.

No framework lock-in

It's an MCP server. Works with any client that speaks MCP — Claude Code, Cursor, Windsurf, VS Code, Copilot CLI. No SDK, no glue code.

Human in the loop, by default

Four mandatory checkpoints. Approve, iterate with notes, or skip. The agent never finalises a stage without you.

Crash-resume built in

Stage outputs and meta are written to disk after each step. Re-run with the same brief and it picks up where it stopped.

Two transports, one binary

Stdio for local clients, Streamable-HTTP for remote (Claude.ai connectors). Same 8 tools, same code path.

Context-window safe

A built-in guard trims agent inputs before they overflow Claude's window. No mysterious 400s mid-pipeline.

Single static binary

Pure Go. ~12 MB. No runtime, no Docker, no Python env. go install or grab a release.

A small, sharp surface area.

herald exposes exactly eight MCP tools. Your client (Claude Code, Cursor, Copilot CLI) sees them as callable functions. No hidden state, no magic.

pm_plan
Reads your brief, produces the agent-1 instruction file.
run_research
Web research pass. Outputs 01_research.md.
run_brand
Brand & messaging. Outputs 02_brand_messaging.md.
run_ux
UX & user flows. Outputs 03_ux.md.
run_gtm
Go-to-market plan. Two parallel sub-agents (4a + 4b).
assemble_plan
Stitches everything into final_product_plan.md.
checkpoint
Pauses for human approval, iteration notes, or skip.
run_workflow
The orchestrator. One call, end-to-end, with all four checkpoints.

Five minutes, zero ceremony.

01 — download (single static binary)
bash
$ curl -L -o herald \
    https://github.com/tamish-max/herald-releases/releases/latest/download/herald-darwin-arm64
$ chmod +x herald && sudo mv herald /usr/local/bin/
bash
$ curl -L -o herald \
    https://github.com/tamish-max/herald-releases/releases/latest/download/herald-darwin-amd64
$ chmod +x herald && sudo mv herald /usr/local/bin/
bash
$ curl -L -o herald \
    https://github.com/tamish-max/herald-releases/releases/latest/download/herald-linux-amd64
$ chmod +x herald && sudo mv herald /usr/local/bin/
powershell
PS> iwr -Uri https://github.com/tamish-max/herald-releases/releases/latest/download/herald-windows-amd64.exe `
       -OutFile herald.exe
# move herald.exe somewhere on your PATH
02 — install your license key
bash
we email this to you after you fill the form
$ export HERALD_LICENSE='HERALD-...your-key...'
# or persist it:
$ mkdir -p ~/.herald && \
    echo 'HERALD-...' > ~/.herald/license
03 — set your anthropic key
bash
$ export ANTHROPIC_API_KEY=sk-ant-...
04 — wire it in (.mcp.json)
json
{
  "mcpServers": {
    "herald": {
      "command": "herald",
      "env": {
        "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
        "HERALD_LICENSE":    "${HERALD_LICENSE}"
      }
    }
  }
}
05 — run
bash
$ claude
// then, in the chat:
use run_workflow with brief_path "./product_brief.md"

I'm looking for ~20 testers to break this in good faith.

What you get · what we want · what we promise

what you get

A signed binary for your platform. A 30-day license key emailed to you. A direct line to the maintainer. Your name in the v1.0 credits.

what we want back

The rough edges. The things that confused you. The moment you nearly closed the tab. Honest, specific feedback — not flattery.

what we promise

Your data stays on your machine. We never see your prompts, your API key, or your output. License check is fully offline. No phone-home, ever.