Skip to main content

AgentMachinist

AgentMachinist is a local-first, issue-to-reviewed-PR build pipeline for solo developers. It connects GitHub issues to Claude Code, OpenCode, Pi, or Codex, with a human-approved specification between planning and implementation.

issue + trigger label → spec commit → draft PR → SHA-bound approval
                    → implementation → test gate → ready PR → human merge

The controller—not the harness—owns commits, pushes, PR transitions, and task records. AgentMachinist never merges.

Current release: AgentMachinist 0.2.0 on PyPI.

Install

uv tool install agentmachinist

You also need git, an authenticated gh, and one supported harness executable (claude, opencode, pi, or codex).

Start

cd your-repository
machinist init
# Set tests.command in machinist.yaml, then:
machinist doctor
machinist watch

The default github.spec_source: local makes watch own spec generation. Choose github-actions and run machinist sync-workflows if CI should own that phase instead. Exactly one source is active, preventing duplicate spec runs.

Approval is bound to the exact PR head commit. Use either:

machinist approve 57
# or post the exact PR comment: /machinist-execute

Editing the spec after approval makes that approval stale and blocks execution until the new head is approved.

Commands

Command Purpose
machinist init Create config, spec storage, labels, and managed workflows.
machinist doctor Run read-only setup and workflow-drift diagnostics.
machinist sync-workflows [--check] Write or verify config-derived workflows.
machinist spec <issue> Generate a spec and open its draft PR.
machinist approve <pr> Bind approval to the current PR head.
machinist run <issue> Implement an approved spec and run the test gate.
machinist watch [--once] Dispatch eligible tasks continuously or once.
machinist status Show issue/PR lifecycle states.
machinist retry <issue> [--phase spec|execute] Re-enable one failed Task Run.

Documentation

The trust model is deliberately narrower than “the agent cannot use git.” Harness flags, credential reduction, repository postconditions, and push leases reduce risk, but local harnesses still execute with the operating-system access of the user who launched them. Read the trust model before unattended use.

Releasing

Releases use PyPI Trusted Publishing. Bump pyproject.toml, update the changelog, and publish a GitHub Release tagged v<version>. The release job requires tag/version equality, runs the suite, builds both distributions, installs and smoke-tests the wheel, and publishes last.

License

MIT — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentmachinist-0.2.0.tar.gz (105.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentmachinist-0.2.0-py3-none-any.whl (33.4 kB view details)

Uploaded Python 3

File details

Details for the file agentmachinist-0.2.0.tar.gz.

File metadata

  • Download URL: agentmachinist-0.2.0.tar.gz
  • Upload date:
  • Size: 105.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for agentmachinist-0.2.0.tar.gz
Algorithm Hash digest
SHA256 dc8c98452f1fc51fb598b9d4212da27c1549de1f5cd77d80302352f395dd8017
MD5 2e28f7c6224a45f9b3a75635fc44efde
BLAKE2b-256 465b6bfec2368bf096c89dbeee8ed2873c745e3608913dd2fa132f715b55bc1b

See more details on using hashes here.

File details

Details for the file agentmachinist-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: agentmachinist-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 33.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for agentmachinist-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83c1e6301203a3260effa74eb0d69ca7c3436b08bb27a01c89bf7d4edd5795bd
MD5 f59a56e0c42f6525ca53796c19cbf3fd
BLAKE2b-256 f6ba03e4bb03cbe9931064c3f4b04e37879f3e42a1c38d712b53d044d1552594

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page