Show HN: AgentMachinist: make your coding agent show its work AgentMachinist 0.19.0, released on PyPI, is a controller that takes a development task from intent to a reviewed local change by coordinating coding agents Claude Code, OpenCode, Pi, Codex, or Goose, requiring human approval of the exact Spec commit before implementation and human review before integration. The tool owns commits, Task records, and optional GitHub PR or GitLab MR publication, and never merges remotely or automatically; local integration is an explicit fast-forward into a clean base checkout. The core CLI is tested on macOS and Linux with Python 3.12 to 3.14, while managed background service commands are macOS-only. AgentMachinist takes a small development Task from intent to a reviewed local change. It coordinates Claude Code, OpenCode, Pi, Codex, or Goose, with human Approval of the exact Spec before implementation and human review before integration. GitHub and GitLab are optional sources of Tasks and destinations for publication. New here? Follow Start here https://github.com/vscarpenter/AgentMachinist/blob/main/docs/tldr.md for your first Task, or try it on the disposable example project https://github.com/vscarpenter/AgentMachinist/blob/main/examples/first-task/README.md first. Task → Spec commit → human Approval → implementation → verification → Review │ human review → local integration ◄─┘ optional GitHub PR / GitLab MR The controller owns commits, Task records, and optional publication. Local integration is an explicit fast-forward operation into your clean base checkout. AgentMachinist never merges remotely or automatically. Current release: AgentMachinist 0.19.0 on PyPI https://pypi.org/project/agentmachinist/0.19.0/ . Install the controller, then enter the repository you want to work on: uv tool install agentmachinist machinist --version You also need git and one supported Harness executable claude , opencode , pi , codex , or goose . GitHub operations require authenticated gh https://cli.github.com ; GitLab operations require authenticated glab https://docs.gitlab.com/cli/ . The core CLI is tested on macOS and Linux with Python 3.12 to 3.14. Managed background service commands are macOS-only; on Linux, schedule machinist watch --once with your existing service manager. Start on a clean named branch with an initial commit and an installed, authenticated Harness. Set your author inside the repository with git config user.name and git config user.email , because the controller ignores your global Git identity. Replace the example's Python test command with verification appropriate to your project. cd your-repository machinist start "Reject unknown timezone names in parse timezone with a ValueError" --test-cmd "uv run pytest" Read the saved Spec and copy the exact Approval command printed by start: machinist approve --task T1 --spec-sha