{"repo":"humanmade/block-runner","free":true,"listed":false,"github":"https://github.com/humanmade/block-runner","clone":"git clone https://github.com/humanmade/block-runner.git","description":null,"language":"HTML","stars":47,"topics":["block-editor","cli","gutenberg","nodejs","typescript","wordpress"],"license":"GPL-2.0","category":"cli-tools","readme_excerpt":"Block Runner The primitive between everything and WordPress blocks. Block Runner is the layer between generated content and WordPress . AI tools, agents, and design tools spit out HTML, but the block editor only trusts blocks it recognizes, so it freezes everything else into a single \"Custom HTML\" blob, or breaks the block outright with \"Attempt Block Recovery.\" Block Runner converts that output into real, nested, native Gutenberg blocks ( wp:cover wp:columns wp:buttons ) and proves every result is editor-valid. Built to sit in an agent loop, a content pipeline, or a CI gate, and deliberately a primitive rather than a platform: the blocks it emits are plain, native WordPress, editable in any editor with nothing proprietary to keep installed. Generated HTML reaches the editor as… --- --- Today ❌ one frozen Custom HTML blob, or a broken block and \"Attempt Block Recovery\" With Block Runner ✅ wp:cover wp:columns wp:buttons : real, nested, editable, valid Quickstart Then just ask your coding agent (Claude Code, Codex): Use block-runner to convert this hero into a native Gutenberg block. Or run the CLI yourself: Every run is checked against headless Gutenberg, so what comes back is guaranteed editor-valid, or Block Runner tells you exactly what wasn't and points at the line. Using this from an AI agent? If you are the one deciding the structure, don't write HTML and convert it. Describe the structure as an intent tree and pipe it to block-runner assemble — deterministic code builds","default_branch":null,"files":null,"tree":[],"storefront":"/r/humanmade","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/humanmade/block-runner/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}